73 Commits

Author SHA1 Message Date
2a543c6e93 Switch to sddm to fix gdm regression causing plasma x11 to not work properly 2026-05-30 09:47:17 +02:00
89e04df44a update lock 2026-05-28 17:36:07 +02:00
d0546b20ea remove trilium-next-pr 2026-05-28 17:35:20 +02:00
a652234c7c update flake lock 2026-05-28 17:18:18 +02:00
b867dd12c4 remove unneeded triliumnext flake input 2026-05-28 17:18:12 +02:00
2fc09a965a upgraded mesa-gcc 2026-05-28 17:17:49 +02:00
e3d7538fa3 "mbedtls" now points to "mbedtls_2", and mbedtls_2 has been removed. Removing overlay. 2026-05-28 17:17:12 +02:00
d64b2f8d6d upgraded mesa with upstream libdrm 2026-05-28 17:16:11 +02:00
093623dad7 fonts 2026-05-12 23:56:20 +02:00
f6c2c48c7d fonts 2026-05-12 23:56:13 +02:00
b7c6a2fce5 WIP stuff 2026-05-12 23:56:04 +02:00
a692c1353d bump flake and fix problems 2026-05-07 16:58:02 +02:00
589eefd527 upgrade mesa 2026-05-07 16:57:48 +02:00
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
f80b6295ac wip - buildable state 2026-03-22 03:13:47 +01:00
eb90b797df bump kernel 2026-03-22 03:12:26 +01:00
ed06b07960 wip - buildable state 2026-03-22 03:10:21 +01:00
bf7f6a1218 wip - buildable state 2026-03-22 03:04:07 +01:00
6d0f92fad6 switch out neofetch for hyfetch because it has been deprecated 2026-03-16 16:12:40 +01:00
164ed80931 firewall rules 2026-03-16 16:07:32 +01:00
4a9a71bad1 commit working state 2026-02-28 16:35:41 +01:00
b9da82b956 attempt making pytorch work 2026-02-28 16:34:56 +01:00
bb596a794e attempt making pytorch work 2026-02-28 16:34:38 +01:00
476cab8c9d forward 9090 to vm 2026-02-28 16:34:11 +01:00
d57aeb9ef3 working passthrough support 2026-02-28 16:33:52 +01:00
aaba57ee2f add nv gpu passthrough vm setup 2026-02-26 02:47:09 +01:00
2332cc1e9d fix linux-wallpaperengine launch params 2026-02-18 02:59:22 +01:00
df06c641c2 add rivalcfg udev rules. 2026-02-18 02:59:08 +01:00
2880272e2a add rivalcfg 2026-02-18 02:57:50 +01:00
d3896b5817 enable cs-tools 2026-02-18 02:57:41 +01:00
522d87f51d add cs-demo-manager appimage package, and group with postgresql for cs-tools module. 2026-02-18 02:57:25 +01:00
578f246519 working mesa-git 2026-02-12 23:54:34 +01:00
271658bf4d further tweaks 2026-02-12 20:16:32 +01:00
fbe9f8b3ec attempt tweaks 2026-02-12 20:16:19 +01:00
149641c87b fix override 2026-02-12 20:16:08 +01:00
21782c109e revert intel 2026-02-12 20:15:59 +01:00
8ee971cbf8 add mpv as home package 2026-02-12 20:14:42 +01:00
1ed2b9c130 clean up 2026-02-12 20:14:32 +01:00
31102ae362 change to i915 2026-02-12 19:29:42 +01:00
33893cafd8 Move gamescope stuff to steam module 2026-02-12 19:28:53 +01:00
61e41fca0a add lact 2026-02-12 19:28:04 +01:00
b90bfdaed8 merge disable efficient energy mode for dogshit realtek chipset 2026-02-12 19:27:47 +01:00
9eff6a3a6a add i915 based intel hardware module 2026-02-12 19:26:54 +01:00
fbbd74bfae commit mesa overlay 2026-02-09 23:25:56 +01:00
fcf8efe577 add reaper 2026-02-04 03:33:15 +01:00
ec3d963494 add discord and betterdiscordctl 2026-02-04 03:33:02 +01:00
82b9b48493 split up to multiline inputs for better diffing 2026-02-04 03:31:04 +01:00
e03b3d229d update file-organization module 2026-02-04 03:30:34 +01:00
06a3b10079 delete homes belonging to deleted system configs 2026-02-04 03:29:52 +01:00
613a9c5540 add file organizaiton module 2026-02-04 00:03:30 +01:00
0c754590f1 enable JACK support 2026-02-02 23:52:49 +01:00
5474251a64 fix typo 2026-02-02 10:01:09 +01:00
dd1aa0957e add samsung monitor edid kernel param config 2026-02-02 09:59:55 +01:00
ddce79071d add samsung monitor edid 2026-02-02 09:50:19 +01:00
30 changed files with 616 additions and 301 deletions

197
flake.lock generated
View File

@@ -9,11 +9,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1767520119,
"narHash": "sha256-+OmNQLA9Fv5WBaxYHlPghS9XmnYWDaLt+AatCGhG+hc=",
"lastModified": 1779903856,
"narHash": "sha256-uRShMtD6xW3ZKZbCQ6sDzKWEnbBXUg3IGfOARYogKhg=",
"owner": "ezKEa",
"repo": "aagl-gtk-on-nix",
"rev": "5720d3282844b6b23b26dfac075a5f1f58ea8844",
"rev": "50671fc7f29d686f63ef34b603320d44ad7f2d29",
"type": "github"
},
"original": {
@@ -46,11 +46,11 @@
"cachyos-kernel": {
"flake": false,
"locked": {
"lastModified": 1769201405,
"narHash": "sha256-k/KQL7J9ZnLlF28E6ywGpfo5dxkuxCcEtJ/XEZDTw3M=",
"lastModified": 1779781360,
"narHash": "sha256-02SR7VL4wc57NCVMhyVgz6/SVfyGv7mc4h+SmgR2I8g=",
"owner": "CachyOS",
"repo": "linux-cachyos",
"rev": "ff53672af48a106f52857d62c9275b165cc452ef",
"rev": "c7cb822e8ee91d993052becf2661b6f26f98eaa2",
"type": "github"
},
"original": {
@@ -62,11 +62,11 @@
"cachyos-kernel-patches": {
"flake": false,
"locked": {
"lastModified": 1769199354,
"narHash": "sha256-y1DKMryOr1w4xcZnDkaZjvENIPmr3j/YB4Srtfd3I2Y=",
"lastModified": 1779618819,
"narHash": "sha256-/cGZZCyJZS1QATHi+/2Q32NkjrYN2N2PpgFP8Ak4FJc=",
"owner": "CachyOS",
"repo": "kernel-patches",
"rev": "c8b990198baf3c34b64e4e5c5ffeb7c068eede1a",
"rev": "668b466fb461409329425b50c4a9d8d2c022a739",
"type": "github"
},
"original": {
@@ -93,11 +93,11 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1761588595,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
@@ -196,11 +196,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -248,7 +248,7 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems_3"
"systems": "systems_2"
},
"locked": {
"lastModified": 1694529238,
@@ -271,11 +271,11 @@
]
},
"locked": {
"lastModified": 1728511087,
"narHash": "sha256-CvO74jwMjUUPySy0QCt7sPImbxKlhWcSAet93Fkt6iU=",
"lastModified": 1771895942,
"narHash": "sha256-2G212O6uoBCjmyIBux/Kfy/FVlsAY+3mTT4JRstYRZ0=",
"owner": "local-interloper",
"repo": "game-of-life",
"rev": "c39d37e394f5da79a6a7d198e1d7e505aa5298a7",
"rev": "dd5cba5d873ece0ca5c8a7d74243b3b0199a2194",
"type": "github"
},
"original": {
@@ -313,11 +313,11 @@
]
},
"locked": {
"lastModified": 1769450270,
"narHash": "sha256-pdVm/zJazDUAasTyHFX/Pbrlk9Upjxi0yzgn7GjGe4g=",
"lastModified": 1779969295,
"narHash": "sha256-HwIJ3tOcwSMiV75L7KqJXciXR9UfT+d7rwOZMX7cTnA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a10c1e8f5ad2589414407f4851c221cb66270257",
"rev": "61e2c9659324181e0f0ed911958c536333b1d4f6",
"type": "github"
},
"original": {
@@ -334,11 +334,11 @@
]
},
"locked": {
"lastModified": 1768434960,
"narHash": "sha256-cJbFn17oyg6qAraLr+NVeNJrXsrzJdrudkzI4H2iTcg=",
"lastModified": 1778805320,
"narHash": "sha256-nGFJ01m2CTBKD4ABtcY4vLhHrRN91LKr/pn41PcU78A=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b4d88c9ac42ae1a745283f6547701da43b6e9f9b",
"rev": "9846abe15e7d0d36b8acbd4d05f2b87461744c92",
"type": "github"
},
"original": {
@@ -347,27 +347,6 @@
"type": "github"
}
},
"kwin-effects-forceblur": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"utils": "utils"
},
"locked": {
"lastModified": 1755098995,
"narHash": "sha256-6FN7XEf27DenQHDIKjrjOW3tGIaJlyqRlXarmt1v+M0=",
"owner": "taj-ny",
"repo": "kwin-effects-forceblur",
"rev": "51a1d49d7fd7df3ce40ccf6ba4c4410cf6f510e1",
"type": "github"
},
"original": {
"owner": "taj-ny",
"repo": "kwin-effects-forceblur",
"type": "github"
}
},
"lanzaboote": {
"inputs": {
"crane": "crane",
@@ -400,14 +379,14 @@
"cachyos-kernel-patches": "cachyos-kernel-patches",
"flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1769363279,
"narHash": "sha256-XJCuB8GWkFLRFBR6GQoxRB9/lobB45ERp0JN0Lo2nvs=",
"lastModified": 1779910731,
"narHash": "sha256-BSu/X9EyAyAPOjXsuwED4j4IeduP/5KVjTwiQSLkdik=",
"owner": "xddxdd",
"repo": "nix-cachyos-kernel",
"rev": "4aa98db78c1d663c3dad59775e95ad93fe58a844",
"rev": "a2cdbecf6abb1a1180bf9fe5c3028125416621f1",
"type": "github"
},
"original": {
@@ -425,11 +404,11 @@
]
},
"locked": {
"lastModified": 1769217863,
"narHash": "sha256-RY9kJDXD6+2Td/59LkZ0PFSereCXHdBX9wIkbYjRKCY=",
"lastModified": 1777732699,
"narHash": "sha256-2uX/XtOWZ/oy2rerRynVhqVA//ZXZ3Fo60PikLHEPQc=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "38a5250e57f583662eac3b944830e4b9e169e965",
"rev": "5482f113fd31ebac131d1ebeb2ae90bf0d5e41f5",
"type": "github"
},
"original": {
@@ -441,27 +420,27 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
"lastModified": 1779894193,
"narHash": "sha256-2PixoQSj9hdtoXTu0ZxdI0cmAE6GUUjCODG+rtC1wDc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
"rev": "a09ffe51cfdc37950f14286593605ce64f76cc93",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1765674936,
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
"lastModified": 1777168982,
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
"type": "github"
},
"original": {
@@ -472,27 +451,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1769300497,
"narHash": "sha256-W7NbQnQGqUPRnpHOlLXk3g52TSQDkFVzhax9YNv9K+U=",
"lastModified": 1779560665,
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "60f9d776547020ff3be5a2cfbd0a457fddd88ecc",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1769170682,
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c5296fdd05cfa2c187990dd909864da9658df755",
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"type": "github"
},
"original": {
@@ -534,27 +497,28 @@
"anikki": "anikki",
"game-of-life": "game-of-life",
"home-manager": "home-manager",
"kwin-effects-forceblur": "kwin-effects-forceblur",
"lanzaboote": "lanzaboote",
"nix-cachyos-kernel": "nix-cachyos-kernel",
"nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_2",
"snowfall-lib": "snowfall-lib",
"sops-nix": "sops-nix",
"trilium-next-pr": "trilium-next-pr",
"zen-browser": "zen-browser"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": "nixpkgs"
"nixpkgs": [
"aagl",
"nixpkgs"
]
},
"locked": {
"lastModified": 1764470739,
"narHash": "sha256-sa9f81B1dWO16QtgDTWHX8DQbiHKzHndpaunY5EQtwE=",
"lastModified": 1777605393,
"narHash": "sha256-Hjp0VOOHgHcTrX23iVvnfAudPcuCmfkfpQNFwv2v/ks=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "3bfa664055e1a09c6aedab5533c5fc8d6ca5741a",
"rev": "ff88db34cfa486fc4964a6991cab1678d82eee8c",
"type": "github"
},
"original": {
@@ -613,11 +577,11 @@
]
},
"locked": {
"lastModified": 1769469829,
"narHash": "sha256-wFcr32ZqspCxk4+FvIxIL0AZktRs6DuF8oOsLt59YBU=",
"lastModified": 1777944972,
"narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=",
"owner": "mic92",
"repo": "sops-nix",
"rev": "c5eebd4eb2e3372fe12a8d70a248a6ee9dd02eff",
"rev": "c591bf665727040c6cc5cb409079acb22dcce33c",
"type": "github"
},
"original": {
@@ -656,55 +620,6 @@
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"trilium-next-pr": {
"locked": {
"lastModified": 1736678965,
"narHash": "sha256-2A687i3Rq0/wqJVvpgaiRPWcfnBBuBhPjKaT8cnd7o0=",
"owner": "FliegendeWurst",
"repo": "nixpkgs",
"rev": "4fcdf706929246476e52e960760b6643cb8395c4",
"type": "github"
},
"original": {
"owner": "FliegendeWurst",
"ref": "trilium-next",
"repo": "nixpkgs",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"home-manager": "home-manager_2",
@@ -713,11 +628,11 @@
]
},
"locked": {
"lastModified": 1769431876,
"narHash": "sha256-FnOW+ulwocxfYGVKV2H/7MlSbn52+hfX9oaRR6FClZ4=",
"lastModified": 1779955179,
"narHash": "sha256-cHrbJ8pZrsFWUTJVk7AxWiEg5eiZptPQxtT0YXMIENo=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "d5ef79d18dca7617aefe511db8267d47f7cf953f",
"rev": "c341e3f6516fb1286d25b99d34b111f93028ae87",
"type": "github"
},
"original": {

View File

@@ -30,10 +30,6 @@
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
trilium-next-pr = {
url = "github:FliegendeWurst/nixpkgs/trilium-next";
# Don't follow nixpkgs as this repo has its own pinned nixpkgs
};
anikki = {
url = "github:Hion-V/Anikki-flake";
inputs.nixpkgs.follows = "nixpkgs";
@@ -42,10 +38,10 @@
url = "github:nix-community/lanzaboote/v0.4.3";
inputs.nixpkgs.follows = "nixpkgs";
};
kwin-effects-forceblur = {
url = "github:taj-ny/kwin-effects-forceblur";
inputs.nixpkgs.follows = "nixpkgs";
};
# kwin-effects-forceblur = { Archived.
# url = "github:taj-ny/kwin-effects-forceblur";
# inputs.nixpkgs.follows = "nixpkgs";
# };
aagl = {
url = "github:ezKEa/aagl-gtk-on-nix";
inputs.nixpkgs.follows = "nixpkgs";
@@ -94,12 +90,6 @@
# Use the exact kernel versions as defined in this repo.
# Guarantees you have binary cache.
nix-cachyos-kernel.overlays.pinned
# Alternatively, build the kernels on top of nixpkgs version in your flake.
# This might cause version mismatch/build failures!
# nix-cachyos-kernel.overlays.default
# Only use one of the two overlays!
];
nixos = with inputs; [
@@ -109,7 +99,7 @@
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useGlobalPkgs = false; # Disabled to allow system-level overlays to work
useUserPackages = true;
};
}

View File

@@ -23,6 +23,7 @@ in
packages = [
pkgs.nil
pkgs.beeper
pkgs.mpv
pkgs.my-namespace.udev-steelseries
pkgs.qbittorrent
pkgs.hyfetch
@@ -31,7 +32,7 @@ in
# pkgs.vesktop
pkgs.obsidian
inputs.zen-browser.packages.x86_64-linux.default
inputs.kwin-effects-forceblur.packages.${pkgs.stdenv.hostPlatform.system}.default
# inputs.kwin-effects-forceblur.packages.${pkgs.stdenv.hostPlatform.system}.default # Archived.
];
};
@@ -40,7 +41,7 @@ in
[Desktop Entry]
Type=Application
Name=Wallpaper Engine
Exec=${pkgs.my-namespace.linux-wallpaperengine}/bin/linux-wallpaperengine --screen-root DP-1 --bg 2935872330 -f 12 --screen-root DP-2 --bg 2935872330 -f 12
Exec=${pkgs.my-namespace.linux-wallpaperengine}/bin/linux-wallpaperengine --screen-root DP-1 --bg 2935872330 --screen-root DP-2 --bg 2935872330 -f 12
X-KDE-autostart-after=panel
X-KDE-StartupNotify=false
'';

View File

@@ -1,25 +0,0 @@
{ config
, lib
, pkgs
, ...
}:
let
inherit (lib.my-namespace) enabled;
in
{
imports = [
# ../modules.nix
];
my-namespace.home = {
stream-tools = enabled;
# networking = enabled;
# personal-apps = enabled;
# suites.laptop = enabled;
};
home = {
packages = [
pkgs.nil
pkgs.beeper
];
};
}

View File

@@ -1,5 +1,4 @@
{ pkgs
, config
{ config
, lib
, ...
}:

View File

@@ -34,7 +34,7 @@ in
home = {
packages = with pkgs; [
inetutils
neofetch
hyfetch
tmux
# nerdfonts
p7zip

View File

@@ -0,0 +1,24 @@
{ lib, pkgs, config, namespace, ... }:
let
cfg = config.${namespace}.cs-tools;
in
{
options.${namespace}.cs-tools = {
enable = lib.mkEnableOption "CS tools including CS Demo Manager and PostgreSQL";
};
config = lib.mkIf cfg.enable {
services.postgresql = {
enable = true;
ensureDatabases = [ "csdm" ];
ensureUsers = [{
name = "csdm";
}];
};
environment.systemPackages = with pkgs; [
my-namespace.cs-demo-manager
postgresql
];
};
}

View File

@@ -48,17 +48,64 @@ in {
enable = true;
};
services.desktopManager.gnome.enable = true;
services.gnome.gnome-remote-desktop.enable = true;
systemd.services.gnome-remote-desktop = {
wantedBy = [ "graphical.target" ]; # for starting the unit automatically at boot
};
services.displayManager.autoLogin.enable = false;
networking.firewall.allowedTCPPorts = [
3389
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; [
gnome-tweaks
gnome-software
gnomeExtensions.pop-shell
gnome-remote-desktop
glib-networking # Required gnome-remote-desktop dependency
];
systemd.user.services.gnome-remote-desktop.environment = {
VK_ICD_FILENAMES = "/dev/null";
LIBGL_ALWAYS_SOFTWARE = "1";
};
systemd.services.gnome-remote-desktop.environment = {
VK_ICD_FILENAMES = "/dev/null";
LIBGL_ALWAYS_SOFTWARE = "1";
};
environment.sessionVariables.XDG_DATA_DIRS = lib.mkAfter [
"${pkgs.gnome-remote-desktop}/share"
];
environment.pathsToLink = [
"/share/gsettings-schemas"
"/share"
];
})
(lib.mkIf cfg.kde.enable {
services.xserver.enable = true;
services.desktopManager.plasma6.enable = true;
environment.sessionVariables = {
# Forces KWin to use the legacy DRM interface so "Allow Tearing" actually works
# KWIN_DRM_NO_AMS = "1";
# Disables the new triple buffering in Plasma 6.1+ to reduce latency
# KWIN_DRM_DISABLE_TRIPLE_BUFFERING = "1";
# KWIN_USE_HWCURSOR = "0";
# KWIN_DRM_USE_EGL_STREAMS = "0";
# MESA_VK_WSI_PRESENT_MODE = "immediate";
# vblank_mode = "0";
};
environment.systemPackages = with pkgs; [
kdePackages.qtwebsockets
kdePackages.qtwebchannel

View File

@@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
namespace,
...
}:
let
cfg = config.${namespace}.file-organization;
in
{
options.${namespace}.file-organization = {
enable = lib.mkEnableOption "file organization software";
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
ranger
fsearch
qdirstat
veracrypt
];
};
}

View File

@@ -43,7 +43,7 @@ in
age
wget
sops
bitwarden-desktop #replaced bitwarden
# bitwarden-desktop #replaced bitwarden
bitwarden-cli
cowsay
remmina

View File

@@ -3,7 +3,7 @@
let
cfg = config.${namespace}.performance-tuning;
in {
options.${namespace}.performance-tuning.enable = lib.mkEnableOption "XFCE desktop environment";
options.${namespace}.performance-tuning.enable = lib.mkEnableOption "performance tuning settings for gaming and general use";
config = lib.mkIf cfg.enable {
boot.kernelParams = [
"nvme_core.default_ps_max_latency_us=0"

View File

@@ -33,62 +33,52 @@
lutris
vkd3d
dxvk
corefonts
protontricks
mangohud
vkbasalt
gamescope
corefonts
];
hardware.uinput.enable = true;
users.users.andreas.extraGroups = [ "input" ];
programs.gamescope.enable = true;
programs.steam.gamescopeSession = {
enable = true;
args = [
"-w" "1920"
"-h" "1080"
"-r" "172"
"-e" # Enable steam integration
"--steam"
"--prefer-outpout DP-4"
"--prefer-vk-device 8086:e20b" # lspci -nn | grep VGA
];
env = {
# WLR_RENDERER = "vulkan";
# DXVK_HDR = "0 ";
# ENABLE_GAMESCOPE_WSI = "0";
# WINE_FULLSCREEN_FSR = "1";
# SDL_VIDEODRIVER = "wayland,x11"; # Games allegedly prefer X11
};
};
programs.steam = {
enable = true;
package = pkgs.steam.override {
extraPkgs = pkgs: with pkgs; [
gamemode
noto-fonts-color-emoji
];
extraEnv = {
SDL_VIDEODRIVER = "wayland";
# SDL_VIDEODRIVER = "wayland,x11";
# SDL_VIDEODRIVER = "x11,wayland";
};
};
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
# gamescopeSession = {
# enable = true;
# env = {
# WLR_RENDERER = "vulkan";
# DXVK_HDR = "0 ";
# ENABLE_GAMESCOPE_WSI = "0";
# WINE_FULLSCREEN_FSR = "1";
# # Games allegedly prefer X11
# SDL_VIDEODRIVER = "x11";
# };
# args = [
# "--xwayland-count 1"
# "--expose-wayland"
# "-e" # Enable steam integration
# "--steam"
# # "--adaptive-sync"
# # "--hdr-enabled"
# # "--hdr-itm-enable"
# # External monitor
# "--prefer-output DP-3"
# "--output-width 1920"
# "--output-height 1080"
# "-r 172"
# # Laptop display
# # "--prefer-output eDP-1"
# # "--output-width 2560"
# # "--output-height 1600"
# # "-r 120"
# # "--prefer-vk-device 10de:1b81" # lspci -nn | grep VGA
# ];
# };
};
};
}

View File

@@ -1,11 +0,0 @@
{ ... }:
final: prev: {
mbedtls_2 = prev.mbedtls_2.overrideAttrs (oldAttrs: {
doCheck = false; # Skip failing PSA crypto tests
});
haxe = prev.haxe.overrideAttrs (oldAttrs: {
buildInputs = (oldAttrs.buildInputs or []) ++ [ final.mbedtls_2 ];
});
}

View File

@@ -0,0 +1,38 @@
{ ... }:
final: prev: {
mesa = (prev.mesa.overrideAttrs (old: rec {
version = "git-unstable-2026-05-07";
src = prev.fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "mesa";
repo = "mesa";
rev = "0f75fa5bfd29770128a412f1fcf5c4121f95e1bb";
hash = "sha256-9sqgro3Y+yctcueHEO0hNmySLNn9F1HP3lPqcIow0+k=";
};
patches = [];
buildInputs = old.buildInputs ++ (with prev.llvmPackages_21; [
clang-unwrapped
libclang
]);
# Create symlinks to clang libraries so meson can find them
preConfigure = (old.preConfigure or "") + ''
mkdir -p $NIX_BUILD_TOP/clang-libs
for lib in ${prev.llvmPackages_21.clang-unwrapped.lib}/lib/*.a; do
ln -sf "$lib" "$NIX_BUILD_TOP/clang-libs/"
done
export LIBRARY_PATH="$NIX_BUILD_TOP/clang-libs:''${LIBRARY_PATH:-}"
export CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
'';
mesonFlags =
(builtins.filter (flag:
!(prev.lib.hasPrefix "-Dclang-libdir=" flag) &&
flag != "--sysconfdir=/etc"
) old.mesonFlags) ++ [
"-Dsysconfdir=${placeholder "out"}/etc"
] ++ (if prev.stdenv.hostPlatform.is64bit then [ "-Dintel-rt=enabled" ] else [ "-Dintel-rt=disabled" ]);
}));
}

View File

@@ -0,0 +1,7 @@
{ ... }:
final: prev: {
openldap = prev.openldap.overrideAttrs {
doCheck = !prev.stdenv.hostPlatform.isi686;
};
}

View File

@@ -1,17 +0,0 @@
{ ... }:
final: prev: {
synergy = prev.synergy.overrideAttrs (oldAttrs: {
postPatch = (oldAttrs.postPatch or "") + ''
# Fix deprecated Qt endl usage in QTextStream contexts only
# Don't touch cerr/cout which use std::endl
find . -name "*.cpp" -type f -exec sed -i \
's/\(outStream.*<<.*\)endl/\1Qt::endl/g; s/\(QTextStream.*<<.*\)endl/\1Qt::endl/g' {} +
find . -name "*.h" -type f -exec sed -i \
's/\(outStream.*<<.*\)endl/\1Qt::endl/g; s/\(QTextStream.*<<.*\)endl/\1Qt::endl/g' {} +
# Fix missing SIZE_MAX include
sed -i '/#include <cstring>/a#include <cstdint>' src/lib/server/InputFilter.cpp
'';
});
}

View File

@@ -0,0 +1,43 @@
{ lib
, stdenv
, fetchurl
, appimageTools
, postgresql
, procps
, ...
}:
let
pname = "cs-demo-manager";
version = "3.18.2";
src = fetchurl {
url = "https://github.com/akiver/cs-demo-manager/releases/download/v${version}/CS-Demo-Manager-${version}.AppImage";
hash = "sha256-REEhqvfYSKD7EyIYJVlbkQu0h5FZcofc8X7Zhu1xZnA="; # You need to add the hash after first build attempt
};
appimageContents = appimageTools.extractType2 {
inherit pname version src;
};
in
appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: [ postgresql procps ];
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/cs-demo-manager.desktop $out/share/applications/cs-demo-manager.desktop
install -m 444 -D ${appimageContents}/cs-demo-manager.png $out/share/icons/hicolor/512x512/apps/cs-demo-manager.png
substituteInPlace $out/share/applications/cs-demo-manager.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
'';
meta = with lib; {
description = "An application to manage Counter-Strike demos";
homepage = "https://github.com/akiver/cs-demo-manager";
license = licenses.gpl2Plus;
platforms = [ "x86_64-linux" ];
maintainers = [ ];
};
}

View File

@@ -7,7 +7,7 @@ pkgs.mkShellNoCC {
packages = with pkgs; [
cowsay
lolcat
bitwarden-desktop #replaced bitwarden
# bitwarden-desktop #replaced bitwarden
bitwarden-cli
sops
];

View File

@@ -2,16 +2,19 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{
# config,
pkgs,
...
}:
{
imports = [
./hardware/hardware-configuration.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
# boot.loader.systemd-boot.enable = true; # managed by lanzaboote
boot.loader.efi.canTouchEfiVariables = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
networking.hostName = "drivebystation-nix"; # Define your hostname.
@@ -45,9 +48,9 @@
services = {
# Enable Gnome Session
displayManager.gdm.enable = false;
displayManager.sddm.enable = false;
# displayManager.sddm.wayland.enable = true;
displayManager.cosmic-greeter.enable = true;
displayManager.sddm.enable = true;
displayManager.sddm.wayland.enable = true;
displayManager.cosmic-greeter.enable = false;
displayManager.defaultSession = "gnome";
xserver = {
@@ -88,7 +91,7 @@
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
@@ -125,7 +128,7 @@
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
(python312.withPackages (ps: with ps; [ websockets ]))
(python3.withPackages (ps: with ps; [ websockets ]))
sqlite
javaPackages.compiler.openjdk25
javaPackages.compiler.openjdk21
@@ -135,6 +138,11 @@
krita
ntfs3g
htop
rivalcfg
blender
reaper
discord
betterdiscordctl
];
environment.etc."xdg/autostart/xwaylandvideobridge.desktop".text = ''
[Desktop Entry]
@@ -152,6 +160,9 @@
services.gvfs.enable = true; # For file manager integration
# Enable udev rules for SteelSeries devices (rivalcfg)
services.udev.packages = [ pkgs.rivalcfg ];
# Disable iBus (not needed unless using Asian input methods)
i18n.inputMethod = {
enable = false;
@@ -160,13 +171,15 @@
virtualisation.libvirtd = {
enable = true;
qemu = {
package = pkgs.qemu_kvm;
package = pkgs.qemu;
runAsRoot = true;
swtpm.enable = true;
vhostUserPackages = [ pkgs.virtiofsd ];
};
};
systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
@@ -181,18 +194,67 @@
# Enable the OpenSSH daemon.
services.openssh.enable = true;
# Open ports in the firewall.
# Open ports in the .
networking.firewall.allowedTCPPorts = [
24800 #Synergy
53317 #localsend
3390 #rdp
9090
8000
40122
];
networking.firewall.allowedUDPPorts = [
24800 #Synergy
53317 #localsend
3390 #rdp
9090
8000
40122
];
networking.firewall.trustedInterfaces = [ "virbr0" ];
networking.nat = {
enable = true;
internalInterfaces = [ "virbr0" ];
externalInterface = "enp75s0";
extraCommands = ''
# MASQUERADE forwarded traffic to VM so it knows how to route back
iptables -t nat -A nixos-nat-post -o virbr0 -j MASQUERADE
'';
forwardPorts = [
{
sourcePort = 9090;
proto = "tcp";
destination = "192.168.122.113:9090";
}
{
sourcePort = 9090;
proto = "udp";
destination = "192.168.122.113:9090";
}
];
};
services.mullvad-vpn.enable = true;
services.mullvad-vpn.package = pkgs.mullvad-vpn;
# Or disable the firewall altogether.
# networking.firewall.enable = false;
fonts = {
packages = with pkgs; [
noto-fonts
noto-fonts-color-emoji
];
fontconfig = {
enable = true;
defaultFonts = {
sansSerif = [ "DejaVu Sans" "Noto Color Emoji" ];
serif = [ "DejaVu Serif" "Noto Color Emoji" ];
monospace = [ "DejaVu Sans Mono" "Noto Color Emoji" ];
emoji = [ "Noto Color Emoji" ];
};
};
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave

View File

@@ -10,23 +10,23 @@
inputs,
# Additional metadata is provided by Snowfall Lib.
# The namespace used for your flake, defaulting to "internal" if not set.
namespace,
# namespace,
# The system architecture for this host (eg. `x86_64-linux`).
system,
# system,
# The Snowfall Lib target for this system (eg. `x86_64-iso`).
target,
# target,
# A normalized name for the system target (eg. `iso`).
format,
# format,
# A boolean to determine whether this system is a virtual target using nixos-generators.
virtual,
# virtual,
# An attribute map of your defined hosts.
systems,
# systems,
# All other arguments come from the system system.
config
, ...
# config,
...
}:
let
inherit (lib.my-namespace) enabled;
# inherit (lib.my-namespace) systemPackages;
inherit pkgs;
installedPackages = lib.my-namespace.mkPackages pkgs;
in
@@ -45,11 +45,15 @@ in
my-namespace.desktop-environment.xfce.enable = true;
my-namespace.desktop-environment.gnome.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.performance-tuning.enable = true;
my-namespace.file-organization.enable = true;
# GNOME-keyring
my-namespace.gnome-keyring.enable = true;
# CS Tools
my-namespace.cs-tools.enable = true;
users.users.andreas = {
isNormalUser = true;
description = "Andreas Schaafsma";
@@ -62,10 +66,9 @@ in
"gamemode"
];
packages = with pkgs; [
# Packages from inputs
# Packages from inputsq
inputs.game-of-life.packages.x86_64-linux.default
inputs.zen-browser.packages.x86_64-linux.default
inputs.trilium-next-pr.legacyPackages.x86_64-linux.trilium-next-desktop
inputs.anikki.packages.x86_64-linux.default
# We want flatpak support
flatpak
@@ -79,8 +82,10 @@ in
trilium-desktop
terraform
virt-manager
nil
# thunderbird
];
};
programs.anime-game-launcher.enable = true; # Adds launcher and /etc/hosts rules
@@ -94,26 +99,21 @@ in
# Open ports in the firewall.
networking.firewall.allowedTCPPorts = [
59010 #SoundWireServer
5001
11434
3389 #RDP
22 #ssh
];
networking.firewall.allowedUDPPorts = [
59010 #SoundWireServer
5001
11434
3389 #RDP
22 #ssh
];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
programs.gamescope.enable = true;
programs.steam.gamescopeSession = {
enable = true;
args = [
"-w" "1920"
"-h" "1080"
"-r" "172"
networking.firewall.enable = false;
];
};
# Install firefox.
programs.firefox.enable = true;
@@ -131,7 +131,6 @@ in
mangohud
my-namespace.udev-steelseries
my-namespace.hello
kde-rounded-corners
my-namespace.linux-wallpaperengine
(pkgs.writeShellScriptBin "switch-to-desktop" ''
@@ -142,26 +141,30 @@ in
# End the session cleanly
loginctl terminate-session "$XDG_SESSION_ID"
'')
(pkgs.writeShellScriptBin "steamos-session-select" ''
#!/bin/sh
exec switch-to-desktop
'')
# Vulkan packages for Steam
pkgs.mesa
pkgs.vulkan-loader
pkgs.vulkan-validation-layers
pkgs.vulkan-extension-layer
pkgs.vulkan-tools
pkgs.libva
pkgs.libva-utils
mesa
vulkan-loader
vulkan-validation-layers
vulkan-extension-layer
vulkan-tools
libva
libva-utils
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
]
++ installedPackages.packages;
programs.nix-ld = {
enable = true;
package = pkgs.nix-ld; #replaces nix-ld-rs
};
services.flatpak.enable = true;
systemd.services.flatpak-repo = {
wantedBy = [ "multi-user.target" ];
@@ -189,6 +192,7 @@ in
# Disable the GNOME3/GDM auto-suspend feature that cannot be disabled in GUI!
# If no user is logged in, the machine will power down after 20 minutes.
systemd.targets.sleep.enable = false;
systemd.targets.suspend.enable = false;
systemd.targets.hibernate.enable = false;

View File

@@ -1,7 +1,9 @@
{ 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-2:edid/edid.bin" ];
boot.kernelParams = [
"drm.edid_firmware=DP-2:edid/edid.bin,DP-4:edid/edid.bin"
];
hardware.firmware = [

View File

@@ -18,11 +18,16 @@
boot.kernelParams = [
"console=tty0"
# "efifb=off"
# "xe.force_probe=*"
"xe.force_probe=e20b"
# Xe stability improvements for B580
"xe.guc_log_level=0" # Reduce GuC logging overhead
"xe.enable_display=1" # Ensure display is enabled
# Memory/performance parameters
"mitigations=off" # Disable CPU mitigations for better performance
"module_blacklist=nouveau,nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm"
];
environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/intel_icd.x86_64.json";
services.switcherooControl.enable = true;
# environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/intel_icd.x86_64.json";
hardware.intel-gpu-tools.enable = true;
hardware.graphics = {
enable = true;
@@ -33,6 +38,7 @@
vpl-gpu-rt # oneVPL runtime
intel-vaapi-driver # fallback
intel-compute-runtime # OpenCL/Level Zero
level-zero # Level Zero API for compute
];
};
@@ -47,11 +53,42 @@
"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 = {
# Force Intel GPU for all graphics operations
KWIN_DRM_DEVICES = "/dev/dri/card0";
# Vulkan/DXVK optimizations for B580
ANV_ENABLE_PIPELINE_CACHE = "1";
# Shader cache settings
MESA_SHADER_CACHE_DISABLE = "false";
MESA_SHADER_CACHE_MAX_SIZE = "10G";
# DXVK optimizations
DXVK_HUD = "compiler"; # Monitor shader compilation
# DXVK_ASYNC = "1"; # Enable if you want async shader compilation (may cause issues)
# Intel IPEX / PyTorch settings
ZE_ENABLE_ALT_DRIVERS = "libze_intel_gpu.so.1"; # Enable Intel GPU driver for Level Zero
SYCL_CACHE_PERSISTENT = "1"; # Enable persistent SYCL cache
SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS = "1"; # Performance optimization
};
############################
## LACT Settings for Overclocking
############################
services.lact.enable = true;
############################
## X / Wayland GPU Drivers
@@ -79,4 +116,18 @@
## User Access
############################
users.users.andreas.extraGroups = [ "video" "render" ];
############################
## System Packages for AI/ML
############################
environment.systemPackages = with pkgs; [
intel-compute-runtime
level-zero
# For checking GPU compute capabilities
clinfo
vulkan-tools
];
services.xserver.deviceSection = ''
Option "TearFree" "false"
'';
}

View File

@@ -0,0 +1,90 @@
{ config, lib, pkgs, ... }:
{
############################
## Display + Mesa Settings
############################
# hardware.enableRedistributableFirmware = true;
hardware.firmware = [
pkgs.linux-firmware
# pkgs.firmwareLinuxNonfree
# pkgs.firmwareLinuxStrict
# pkgs.firmwareLinuxLatest
];
# boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelParams = [
"console=tty0"
# "efifb=off"
# "xe.force_probe=*"
"module_blacklist=nouveau,nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm"
];
# environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/intel_icd.x86_64.json";
hardware.intel-gpu-tools.enable = true;
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
intel-media-driver # Intel VAAPI
vpl-gpu-rt # oneVPL runtime
intel-vaapi-driver # fallback
intel-compute-runtime # OpenCL/Level Zero
];
};
# Ensure Arc driver is available (usually auto-loaded)
boot.kernelModules = [ "i915" ];
# Blacklist everything for nvidia
boot.blacklistedKernelModules = [
"nouveau"
"nvidia"
"nvidia_drm"
"nvidia_modeset"
"nvidia_uvm"
"xe"
];
environment.variables = {
KWIN_DRM_DEVICES = "/dev/dri/card0";
};
############################
## LACT Settings for Overclocking
############################
services.lact.enable = true;
############################
## X / Wayland GPU Drivers
############################
# Enable modesetting driver for X11 (required for Intel Xe)
services.xserver.videoDrivers = [
"modesetting"
#"intel"
];
services.xserver.enable = true;
services.xserver.autorun = false;
services.xserver.displayManager.startx.enable = true;
# Xorg configuration for Intel Arc Battlemage (xe driver)
# Based on: https://www.reddit.com/r/crtgaming/comments/1knom2t/guide_intel_arc_b580_arch_linux_xorg/
# Intel Arc B-series at PCI 0000:03:00.0
#services.xserver.deviceSection = ''
# Option "AccelMethod" "glamor"
# BusID "PCI:3:0:0"
#'';
############################
## User Access
############################
users.users.andreas.extraGroups = [ "video" "render" ];
}

View File

@@ -0,0 +1,51 @@
{ config, lib, system, pkgs, ... }:
{
boot.kernelModules = [
"vfio"
"vfio-pci"
"vfio_iommu_type1"
];
boot.kernelParams = [
"amd_iommu=on"
"iommu=pt"
];
# Make sure vfio is available inside initrd
boot.initrd.availableKernelModules = [
"vfio_pci"
];
# Bind by IDs (cleaner via modprobe instead of kernel param)
boot.extraModprobeConfig = ''
options vfio-pci ids=10de:1b81,10de:10f0
'';
boot.initrd.systemd = {
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
# boot.initrd.preDeviceCommands = ''
# echo 0000:05:00.0 > /sys/bus/pci/drivers/vfio-pci/bind
# echo 0000:05:00.1 > /sys/bus/pci/drivers/vfio-pci/bind
# '';
environment.systemPackages = with pkgs; [
pciutils
virtiofsd
config.virtualisation.libvirtd.qemu.package
looking-glass-client
virt-manager
libguestfs-with-appliance
];
users.extraUsers.andreas.extraGroups = [ "libvirtd" ];
}

View File

@@ -7,9 +7,12 @@
imports =
[
(modulesPath + "/installer/scan/not-detected.nix")
./graphics/intel.nix
./graphics/intel.nix
./graphics/passthrough_nvidia.nix
# ./graphics/intel_i915.nix
# ./graphics/nvidia.nix
./acer-monitor-edid.nix
./samsung-monitor-edid.nix
];
# boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-latest;
@@ -22,6 +25,20 @@
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback r8125 ];
boot.supportedFilesystems = [ "ntfs" ];
boot.blacklistedKernelModules = [ "r8169" ];
systemd.services.disable-realtek-eee = {
description = "Disable Realtek Energy Efficient Ethernet";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.ethtool}/bin/ethtool --set-eee enp10s0 eee off";
RemainAfterExit = true;
};
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/563805a1-5277-4488-bbdd-c1a7ed37be76";
fsType = "ext4";

View File

@@ -0,0 +1,14 @@
{ 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/edid2.bin" ];
hardware.firmware = [
(
pkgs.runCommand "edid2.bin" { } ''
mkdir -p $out/lib/firmware/edid
cp ${./firmware/U32J59x-edid.bin} $out/lib/firmware/edid/edid2.bin
''
)];
}