Compare commits

...

20 Commits

Author SHA1 Message Date
981d351744 add blender 2026-04-29 11:31:04 +02:00
0fae6cfc06 update lockfile 2026-04-29 11:30:34 +02:00
0b47961483 add ; 2026-04-22 03:35:28 +02:00
01a512e3fd fix broken syntax 2026-04-22 03:35:15 +02:00
631b28d399 add ; 2026-04-22 03:34:35 +02:00
96045f57c4 migrate predevicecommands to initrd systemd service 2026-04-22 03:34:10 +02:00
86d717fad1 bump flake lock 2026-04-02 05:26:42 +02:00
a7392b3c30 remove gcc 14 dependency 2026-04-02 05:25:32 +02:00
e72154ab65 delete libvirt python fix and downgraded qemu-full to prevent recompilation every time 2026-04-02 05:25:13 +02:00
47acfb12ff specify mesa-git-unstable to specific rev rather than main 2026-04-02 04:26:41 +02:00
8a7229cea8 update nixpkgs 2026-04-02 04:21:35 +02:00
123b55cdf1 mullvad and firewall 2026-04-02 04:19:47 +02:00
e4cd967f06 update steam package 2026-04-02 04:19:31 +02:00
715c3c07b5 gnome file sharing shit 2026-04-02 04:19:05 +02:00
64a464af49 fix realtek eee disablement 2026-03-26 04:16:20 +01:00
5c710e0cb6 enable hyprland option 2026-03-26 04:13:16 +01:00
26554b8261 remove vulkan icd hardcode and enable tearing 2026-03-26 04:11:20 +01:00
75cecb0386 override DP out on motherboard too 2026-03-22 05:27:48 +01:00
3d8f717c7a new edid 2026-03-22 05:27:25 +01:00
5807e0076a update mesa-git 2026-03-22 05:26:45 +01:00
12 changed files with 102 additions and 92 deletions

78
flake.lock generated
View File

@@ -9,11 +9,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1772290697, "lastModified": 1774186997,
"narHash": "sha256-MyLNx13P+pv1RszO1rMd3144NEeU/oU4iL+xOTpRoaU=", "narHash": "sha256-hyNVlhAqmwcBPl7XRkxbGcMt1BfCOdvuEfBDUf0k8Oo=",
"owner": "ezKEa", "owner": "ezKEa",
"repo": "aagl-gtk-on-nix", "repo": "aagl-gtk-on-nix",
"rev": "dcb53a4cb4cb09ef7f08328428ba559be5b9f01b", "rev": "546e95f7ec74892a31f883a10b1723c35f2c2edd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -46,11 +46,11 @@
"cachyos-kernel": { "cachyos-kernel": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1773425695, "lastModified": 1776608760,
"narHash": "sha256-O5Fr6f+iS+IVKdB59yqkCaWfkr1SSHD5BLDDlZO7RwU=", "narHash": "sha256-ehDv8bF7k/2Kf4b8CCoSm51U/MOoFuLsRXqe5wZ57sE=",
"owner": "CachyOS", "owner": "CachyOS",
"repo": "linux-cachyos", "repo": "linux-cachyos",
"rev": "3b9ae1ae5d4ee95e1509d350b65c0777dde97628", "rev": "7e06e29005853bbaaa3b1c1067f915d6e0db728a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -62,11 +62,11 @@
"cachyos-kernel-patches": { "cachyos-kernel-patches": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1773430072, "lastModified": 1776680283,
"narHash": "sha256-0X47YCF1CUnLiQ1M6Lh4hc3ax9aV5DX/wCmMfuMyM1o=", "narHash": "sha256-wSHtct0KwbhFh9xYYp1ABaBsHE/K/1+oyrqHbIdiWFE=",
"owner": "CachyOS", "owner": "CachyOS",
"repo": "kernel-patches", "repo": "kernel-patches",
"rev": "ac70453c25200f0a30ad38b3caa63020869f0f8a", "rev": "21c93f820124a8e7046f1e358739e1a14f6b700b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -196,11 +196,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1772408722, "lastModified": 1775087534,
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -313,11 +313,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773681856, "lastModified": 1776777932,
"narHash": "sha256-+bRqxoFCJFO9ZTFhcCkzNXbDT3b8AEk88fyjB7Is6eo=", "narHash": "sha256-0R3Yow/NzSeVGUke5tL7CCkqmss4Vmi6BbV6idHzq/8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "57d5560ee92a424fb71fde800acd6ed2c725dfce", "rev": "5d5640599a0050b994330328b9fd45709c909720",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -334,11 +334,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773422513, "lastModified": 1776184304,
"narHash": "sha256-MPjR48roW7CUMU6lu0+qQGqj92Kuh3paIulMWFZy+NQ=", "narHash": "sha256-No6QGBmIv5ChiwKCcbkxjdEQ/RO2ZS1gD7SFy6EZ7rc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "ef12a9a2b0f77c8fa3dda1e7e494fca668909056", "rev": "3c7524c68348ef79ce48308e0978611a050089b2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -382,11 +382,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1773597464, "lastModified": 1776710308,
"narHash": "sha256-3SVrc1AMkY1UE36MD4qvmTkY/ZToK2F55Afut5Qm5F8=", "narHash": "sha256-rrdCcEXukj2CDjsiOVPYb9LpTKzB89sIicBqoOBK3Xs=",
"owner": "xddxdd", "owner": "xddxdd",
"repo": "nix-cachyos-kernel", "repo": "nix-cachyos-kernel",
"rev": "30468236d5cdd9cb5dea6e757159e04816439146", "rev": "8c8219b1f4822932baea710948da7963f50e9739",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -404,11 +404,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773603777, "lastModified": 1776692876,
"narHash": "sha256-oXSEbMR/IuHYk9nvrbRhaYBxVK5s63DH2UGOZT2ok48=", "narHash": "sha256-7Q05rUgwbkJnjxIJyi8bHUG+XnyZqLxFJz7c8RncpeU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "0efe7af73d6e4a8d447a22936c5526d73822b0a7", "rev": "51b302c28dbf904a5c341be005eebe0779cf4f16",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -436,11 +436,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1772328832, "lastModified": 1774748309,
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", "rev": "333c4e0545a6da976206c74db8773a1645b5870a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -451,11 +451,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1773563071, "lastModified": 1776635459,
"narHash": "sha256-p4f6smYpck1hw6gYsT2omq01gnlZ1E7HTpssDQ0fP+g=", "narHash": "sha256-3UVWm751p/8VAY1Mq+DgSTCv9HpMmdB2byhnRrVKflk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1c6f50e5b62030a50799682b6babc9dcc5a271ae", "rev": "8d8538e67e516362d9d09ee5d3ce73dce944612b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -467,11 +467,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1773646010, "lastModified": 1776548001,
"narHash": "sha256-iYrs97hS7p5u4lQzuNWzuALGIOdkPXvjz7bviiBjUu8=", "narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5b2c2d84341b2afb5647081c1386a80d7a8d8605", "rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -591,11 +591,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773698643, "lastModified": 1776771786,
"narHash": "sha256-VCiDjE8kNs8uCAK73Ezk1r3fFuc4JepvW07YFqaN968=", "narHash": "sha256-DRFGPfFV6hbrfO9a1PH1FkCi7qR5FgjSqsQGGvk1rdI=",
"owner": "mic92", "owner": "mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "8237de83e8200d16fe0c4467b02a1c608ff28044", "rev": "bef289e2248991f7afeb95965c82fbcd8ff72598",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -658,11 +658,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773695806, "lastModified": 1776790993,
"narHash": "sha256-HYmp4Ym/dlkRIPap7GFznNUNuDTTW0iIcOtHmhRzl3w=", "narHash": "sha256-TxDU/PFKoOYm+ncWXyI2vurKQPqu54gMlCRzx5sGnZc=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "ced61240cc38dee9e659a7ced0cd9a839c6085d3", "rev": "3f4f36b17ceeda27fc4953e8bc29637333508c05",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -55,8 +55,19 @@ in {
services.displayManager.autoLogin.enable = false; services.displayManager.autoLogin.enable = false;
networking.firewall.allowedTCPPorts = [ networking.firewall.allowedTCPPorts = [
3389 3389
3390 3390
]; ];
# users.users.andreas.extraGroups = [ "sambashare" ];
# Enable Avahi (mDNS/DNS-SD) for discovery
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
# Enable GNOME sharing services
services.gnome.gnome-user-share.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
gnome-tweaks gnome-tweaks
gnome-software gnome-software

View File

@@ -52,14 +52,15 @@
"-r" "172" "-r" "172"
"-e" # Enable steam integration "-e" # Enable steam integration
"--steam" "--steam"
"--prefer-outpout DP-4"
"--prefer-vk-device 8086:e20b" # lspci -nn | grep VGA "--prefer-vk-device 8086:e20b" # lspci -nn | grep VGA
]; ];
env = { env = {
WLR_RENDERER = "vulkan"; # WLR_RENDERER = "vulkan";
DXVK_HDR = "0 "; # DXVK_HDR = "0 ";
ENABLE_GAMESCOPE_WSI = "0"; # ENABLE_GAMESCOPE_WSI = "0";
WINE_FULLSCREEN_FSR = "1"; # WINE_FULLSCREEN_FSR = "1";
SDL_VIDEODRIVER = "wayland,x11"; # Games allegedly prefer X11 # SDL_VIDEODRIVER = "wayland,x11"; # Games allegedly prefer X11
}; };
}; };
@@ -71,7 +72,7 @@
]; ];
extraEnv = { extraEnv = {
# SDL_VIDEODRIVER = "wayland,x11"; # SDL_VIDEODRIVER = "wayland,x11";
SDL_VIDEODRIVER = "x11"; # SDL_VIDEODRIVER = "x11,wayland";
}; };
}; };
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play

View File

@@ -1,28 +0,0 @@
{ ... }:
final: prev:
let
python313ForCeph =
let
base = final.python313;
in
base
// {
override = args:
base.override (args // {
packageOverrides = self: super:
(if args ? packageOverrides then args.packageOverrides self super else { })
// {
# Ceph still references cython_0 in nixpkgs; map it to modern cython on py3.13.
cython_0 = super.cython;
};
});
};
in {
# Work around nixos-unstable eval failure:
# sphinx-9.1.0 not supported for interpreter python3.11
# (seen through libvirtd -> qemu_full -> ceph Python dependency chain).
ceph = prev.ceph.override {
python311 = python313ForCeph;
};
}

View File

@@ -2,13 +2,13 @@
final: prev: { final: prev: {
mesa = (prev.mesa.overrideAttrs (old: rec { mesa = (prev.mesa.overrideAttrs (old: rec {
version = "git-unstable-2026-02-12"; version = "git-unstable-2026-04-02";
src = prev.fetchFromGitLab { src = prev.fetchFromGitLab {
domain = "gitlab.freedesktop.org"; domain = "gitlab.freedesktop.org";
owner = "mesa"; owner = "mesa";
repo = "mesa"; repo = "mesa";
rev = "main"; rev = "72e9f9a760a5dd81a74497f1daef054af1b6b827";
hash = "sha256-5gpLORvbV3skALrQa0VxTJJarYjuq+KyTxDm9HtZNbQ="; hash = "sha256-81V5RdLSLYeGJ/wh5H8L6vq+QdR6yMkJxDV+6Yf5FPk=";
}; };
patches = []; patches = [];
buildInputs = old.buildInputs ++ (with prev.llvmPackages_21; [ buildInputs = old.buildInputs ++ (with prev.llvmPackages_21; [
@@ -33,8 +33,6 @@ final: prev: {
) old.mesonFlags) ++ [ ) old.mesonFlags) ++ [
"-Dsysconfdir=${placeholder "out"}/etc" "-Dsysconfdir=${placeholder "out"}/etc"
] ++ (if prev.stdenv.hostPlatform.is64bit then [ "-Dintel-rt=enabled" ] else [ "-Dintel-rt=disabled" ]); ] ++ (if prev.stdenv.hostPlatform.is64bit then [ "-Dintel-rt=enabled" ] else [ "-Dintel-rt=disabled" ]);
})).override { }));
stdenv = prev.gcc14Stdenv;
};
} }

View File

@@ -139,7 +139,7 @@
ntfs3g ntfs3g
htop htop
rivalcfg rivalcfg
blender
reaper reaper
discord discord
betterdiscordctl betterdiscordctl
@@ -171,9 +171,7 @@
virtualisation.libvirtd = { virtualisation.libvirtd = {
enable = true; enable = true;
qemu = { qemu = {
package = pkgs.qemu_full.override { package = pkgs.qemu;
cephSupport = false;
};
runAsRoot = true; runAsRoot = true;
swtpm.enable = true; swtpm.enable = true;
vhostUserPackages = [ pkgs.virtiofsd ]; vhostUserPackages = [ pkgs.virtiofsd ];
@@ -196,13 +194,14 @@
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
services.openssh.enable = true; services.openssh.enable = true;
# Open ports in the firewall. # Open ports in the .
networking.firewall.allowedTCPPorts = [ networking.firewall.allowedTCPPorts = [
24800 #Synergy 24800 #Synergy
53317 #localsend 53317 #localsend
3390 #rdp 3390 #rdp
9090 9090
8000 8000
40122
]; ];
networking.firewall.allowedUDPPorts = [ networking.firewall.allowedUDPPorts = [
24800 #Synergy 24800 #Synergy
@@ -210,6 +209,7 @@
3390 #rdp 3390 #rdp
9090 9090
8000 8000
40122
]; ];
networking.firewall.trustedInterfaces = [ "virbr0" ]; networking.firewall.trustedInterfaces = [ "virbr0" ];
networking.nat = { networking.nat = {
@@ -233,7 +233,8 @@
} }
]; ];
}; };
services.mullvad-vpn.enable = true;
services.mullvad-vpn.package = pkgs.mullvad-vpn;
# Or disable the firewall altogether. # Or disable the firewall altogether.
# networking.firewall.enable = false; # networking.firewall.enable = false;

View File

@@ -45,6 +45,7 @@ in
my-namespace.desktop-environment.xfce.enable = true; my-namespace.desktop-environment.xfce.enable = true;
my-namespace.desktop-environment.gnome.enable = true; my-namespace.desktop-environment.gnome.enable = true;
my-namespace.desktop-environment.kde.enable = true; my-namespace.desktop-environment.kde.enable = true;
my-namespace.desktop-environment.hyprland.enable = true;
my-namespace.desktop-environment.cosmic.enable = true; my-namespace.desktop-environment.cosmic.enable = true;
my-namespace.performance-tuning.enable = true; my-namespace.performance-tuning.enable = true;
my-namespace.file-organization.enable = true; my-namespace.file-organization.enable = true;

View File

@@ -1,7 +1,9 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
# boot.kernelParams = [ "drm.edid_firmware=DP-1:edid/edid.bin,DP-2:edid/edid.bin,DP-3:edid/edid.bin,DP-4:edid/edid.bin" ]; # boot.kernelParams = [ "drm.edid_firmware=DP-1:edid/edid.bin,DP-2:edid/edid.bin,DP-3:edid/edid.bin,DP-4:edid/edid.bin" ];
boot.kernelParams = [ "drm.edid_firmware=DP-2:edid/edid.bin" ]; boot.kernelParams = [
"drm.edid_firmware=DP-2:edid/edid.bin,DP-4:edid/edid.bin"
];
hardware.firmware = [ hardware.firmware = [

View File

@@ -27,7 +27,7 @@
"module_blacklist=nouveau,nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm" "module_blacklist=nouveau,nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm"
]; ];
services.switcherooControl.enable = true; services.switcherooControl.enable = true;
environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/intel_icd.x86_64.json"; # environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/intel_icd.x86_64.json";
hardware.intel-gpu-tools.enable = true; hardware.intel-gpu-tools.enable = true;
hardware.graphics = { hardware.graphics = {
enable = true; enable = true;
@@ -53,6 +53,13 @@
"nvidia_uvm" "nvidia_uvm"
]; ];
# Mark Arc B580 as a discrete Intel GPU for switcheroo-control and
# keep runtime PCI power management enabled for the device.
services.udev.extraRules = ''
ACTION=="add|bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x8086", ATTR{device}=="0xe20b", TEST=="power/control", ATTR{power/control}="auto"
SUBSYSTEM=="drm", DRIVERS=="xe", ATTRS{vendor}=="0x8086", ATTRS{device}=="0xe20b", TAG+="switcheroo-discrete-gpu"
'';
environment.variables = { environment.variables = {
# Force Intel GPU for all graphics operations # Force Intel GPU for all graphics operations
KWIN_DRM_DEVICES = "/dev/dri/card0"; KWIN_DRM_DEVICES = "/dev/dri/card0";
@@ -120,4 +127,7 @@
clinfo clinfo
vulkan-tools vulkan-tools
]; ];
services.xserver.deviceSection = ''
Option "TearFree" "false"
'';
} }

View File

@@ -17,9 +17,23 @@
boot.extraModprobeConfig = '' boot.extraModprobeConfig = ''
options vfio-pci ids=10de:1b81,10de:10f0 options vfio-pci ids=10de:1b81,10de:10f0
''; '';
boot.initrd.preDeviceCommands = '' boot.initrd.systemd = {
modprobe vfio-pci enable = true;
''; services.initrd-vfio-pci-nvidia = {
description = "vfio-pci predevice init";
wantedBy = [ "initrd.target" ];
# Match 'preDeviceCommands' by running early
before = [ "sysroot.mount" ];
unitConfig.DefaultDependencies = "no";
serviceConfig.Type = "oneshot";
# Place your original shell commands here
script = ''
modprobe vfio-pci
'';
};
};
# # EARLY and deterministic binding # # EARLY and deterministic binding
# boot.initrd.preDeviceCommands = '' # boot.initrd.preDeviceCommands = ''
# echo 0000:05:00.0 > /sys/bus/pci/drivers/vfio-pci/bind # echo 0000:05:00.0 > /sys/bus/pci/drivers/vfio-pci/bind

View File

@@ -33,7 +33,7 @@
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
ExecStart = "${pkgs.ethtool}/bin/ethtool --set-eee enp75s0 eee off"; ExecStart = "${pkgs.ethtool}/bin/ethtool --set-eee enp10s0 eee off";
RemainAfterExit = true; RemainAfterExit = true;
}; };
}; };