diff options
57 files changed, 573 insertions, 1050 deletions
@@ -1,38 +1,5 @@ { "nodes": { - "aquamarine": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1764714051, - "narHash": "sha256-AjcMlM3UoavFoLzr0YrcvsIxALShjyvwe+o7ikibpCM=", - "owner": "hyprwm", - "repo": "aquamarine", - "rev": "a43bedcceced5c21ad36578ed823e6099af78214", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "aquamarine", - "type": "github" - } - }, "awww": { "inputs": { "flake-compat": "flake-compat", @@ -116,22 +83,6 @@ } }, "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -145,14 +96,14 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_4": { + "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "type": "github" }, "original": { @@ -169,11 +120,11 @@ ] }, "locked": { - "lastModified": 1763759067, - "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "lastModified": 1765835352, + "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "rev": "a34fae9c08a15ad73f295041fec82323541400a9", "type": "github" }, "original": { @@ -208,11 +159,11 @@ ] }, "locked": { - "lastModified": 1763759067, - "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "lastModified": 1765835352, + "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "rev": "a34fae9c08a15ad73f295041fec82323541400a9", "type": "github" }, "original": { @@ -237,7 +188,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems_4" + "systems": "systems_3" }, "locked": { "lastModified": 1731533236, @@ -253,28 +204,6 @@ "type": "github" } }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "hyprland", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -303,11 +232,11 @@ ] }, "locked": { - "lastModified": 1765480374, - "narHash": "sha256-HlbvQAqLx7WqZFFQZ8nu5UUJAVlXiV/kqKbyueA8srw=", + "lastModified": 1765980955, + "narHash": "sha256-rB45jv4uwC90vM9UZ70plfvY/2Kdygs+zlQ07dGQFk4=", "owner": "nix-community", "repo": "home-manager", - "rev": "39cb677ed9e908e90478aa9fe5f3383dfc1a63f3", + "rev": "89c9508bbe9b40d36b3dc206c2483ef176f15173", "type": "github" }, "original": { @@ -317,327 +246,6 @@ "type": "github" } }, - "hyprcursor": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1753964049, - "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", - "owner": "hyprwm", - "repo": "hyprcursor", - "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprcursor", - "type": "github" - } - }, - "hyprgraphics": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1763733840, - "narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=", - "owner": "hyprwm", - "repo": "hyprgraphics", - "rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprgraphics", - "type": "github" - } - }, - "hyprland": { - "inputs": { - "aquamarine": "aquamarine", - "hyprcursor": "hyprcursor", - "hyprgraphics": "hyprgraphics", - "hyprland-guiutils": "hyprland-guiutils", - "hyprland-protocols": "hyprland-protocols", - "hyprlang": "hyprlang", - "hyprutils": "hyprutils", - "hyprwayland-scanner": "hyprwayland-scanner", - "hyprwire": "hyprwire", - "nixpkgs": [ - "nixpkgs" - ], - "pre-commit-hooks": "pre-commit-hooks", - "systems": "systems", - "xdph": "xdph" - }, - "locked": { - "lastModified": 1765479283, - "narHash": "sha256-jWBGCyYhPVEPTw7/upguKnjwccivwap9o+4/pD/gcCw=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "75f6435f70dee8f8b685a02c52db7ba16f5db39c", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "Hyprland", - "type": "github" - } - }, - "hyprland-guiutils": { - "inputs": { - "aquamarine": [ - "hyprland", - "aquamarine" - ], - "hyprgraphics": [ - "hyprland", - "hyprgraphics" - ], - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprtoolkit": "hyprtoolkit", - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1764812575, - "narHash": "sha256-1bK1yGgaR82vajUrt6z+BSljQvFn91D74WJ/vJsydtE=", - "owner": "hyprwm", - "repo": "hyprland-guiutils", - "rev": "fd321368a40c782cfa299991e5584ca338e36ebe", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-guiutils", - "type": "github" - } - }, - "hyprland-protocols": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1759610243, - "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, - "hyprlang": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1764612430, - "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "0d00dc118981531aa731150b6ea551ef037acddd", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprtoolkit": { - "inputs": { - "aquamarine": [ - "hyprland", - "hyprland-guiutils", - "aquamarine" - ], - "hyprgraphics": [ - "hyprland", - "hyprland-guiutils", - "hyprgraphics" - ], - "hyprlang": [ - "hyprland", - "hyprland-guiutils", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprland-guiutils", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprland-guiutils", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "hyprland-guiutils", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-guiutils", - "systems" - ] - }, - "locked": { - "lastModified": 1764592794, - "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", - "owner": "hyprwm", - "repo": "hyprtoolkit", - "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprtoolkit", - "type": "github" - } - }, - "hyprutils": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1764962281, - "narHash": "sha256-rGbEMhTTyTzw4iyz45lch5kXseqnqcEpmrHdy+zHsfo=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "fe686486ac867a1a24f99c753bb40ffed338e4b0", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprwayland-scanner": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1763640274, - "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "type": "github" - } - }, - "hyprwire": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1764872015, - "narHash": "sha256-INI9AVrQG5nJZFvGPSiUZ9FEUZJLfGdsqjF1QSak7Gc=", - "owner": "hyprwm", - "repo": "hyprwire", - "rev": "7997451dcaab7b9d9d442f18985d514ec5891608", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwire", - "type": "github" - } - }, "jovian": { "inputs": { "nix-github-actions": "nix-github-actions", @@ -660,22 +268,6 @@ "type": "github" } }, - "libnbtplusplus": { - "flake": false, - "locked": { - "lastModified": 1744811532, - "narHash": "sha256-qhmjaRkt+O7A+gu6HjUkl7QzOEb4r8y8vWZMG2R/C6o=", - "owner": "PrismLauncher", - "repo": "libnbtplusplus", - "rev": "531449ba1c930c98e0bcf5d332b237a8566f9d78", - "type": "github" - }, - "original": { - "owner": "PrismLauncher", - "repo": "libnbtplusplus", - "type": "github" - } - }, "neovim-nightly-overlay": { "inputs": { "flake-parts": "flake-parts", @@ -685,11 +277,11 @@ ] }, "locked": { - "lastModified": 1765411465, - "narHash": "sha256-rwrGoscS1AXRsiB100JduKO9ySKEjC8zsSBIDfKi1G8=", + "lastModified": 1766016290, + "narHash": "sha256-YMf/PUyY4z7RlIe/Dzn1NnxZGS0Vp2eHxcMNWJM9q+A=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d47f5957732f763696803b564eb9c608a486014e", + "rev": "f7fbc4e3d4ccea45eaa5b187884592eb42dfdbbd", "type": "github" }, "original": { @@ -701,11 +293,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1765391613, - "narHash": "sha256-6tqSpj8b33kSY/0rYEdQRHsICdkZD/AtXSoC0EH/hFY=", + "lastModified": 1766014002, + "narHash": "sha256-KE/ufBGH8XFXTw3Vt1DrK1rQmAEp1Q+oyLQibX5UKO0=", "owner": "neovim", "repo": "neovim", - "rev": "78bbe53f7615e8b38d5289d9ce0579996109579b", + "rev": "c172fd9f464d5766eab9071e8f4770504c920c05", "type": "github" }, "original": { @@ -726,11 +318,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1765386897, - "narHash": "sha256-wmHtBM2Iuthw9DsTD9RUkkZqrmsSJYGgflSaskE+Rrc=", + "lastModified": 1766058361, + "narHash": "sha256-8GSS8I4AFlg8pzXDouVqsEQY0B562Q+esrRUwxVf47w=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "be7806f4fe2ead48eaf22e125f535d70a5ff2e3b", + "rev": "24123acf1301ee20a2bf6e63d0a19c54da1736ac", "type": "github" }, "original": { @@ -759,11 +351,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1765306956, - "narHash": "sha256-dAnL/EFft88xvKBLSE4pxSD5D945Cjm3E59bSl0feSE=", + "lastModified": 1766054370, + "narHash": "sha256-0duo7mbAIBNEya28DXpCHMdTbVlVPyPn+ETBEA4QRbE=", "owner": "YaLTeR", "repo": "niri", - "rev": "4d058e611147803f5188e417943c6653d846542f", + "rev": "f85cb5c5f97a6bd21cc6b3ac9671d32cca362bb2", "type": "github" }, "original": { @@ -797,18 +389,18 @@ }, "nixcord": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1765464894, - "narHash": "sha256-yHNyV1yNHnPW6/5jpJi/rXWfjJg6bFxehZY2FYEFSEU=", + "lastModified": 1766045567, + "narHash": "sha256-w3w0PxcBMLFYE8MOAJwp6NeBWZUI3eykczV9MfJrAQ8=", "owner": "KaylorBen", "repo": "nixcord", - "rev": "f6a2705a014e9a38ed74aa9306afd0875f89295a", + "rev": "2cc1a69f9b4a5c980c26ba4ba9dee252ebf0d218", "type": "github" }, "original": { @@ -850,11 +442,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1765311797, - "narHash": "sha256-mSD5Ob7a+T2RNjvPvOA1dkJHGVrNVl8ZOrAwBjKBDQo=", + "lastModified": 1765838191, + "narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "09eb77e94fa25202af8f3e81ddc7353d9970ac1b", + "rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6", "type": "github" }, "original": { @@ -866,11 +458,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1765363881, - "narHash": "sha256-3C3xWn8/2Zzr7sxVBmpc1H1QfxjNfta5IMFe3O9ZEPw=", + "lastModified": 1766014764, + "narHash": "sha256-+73VffE5GP5fvbib6Hs1Su6LehG+9UV1Kzs90T2gBLA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d2b1213bf5ec5e62d96b003ab4b5cbc42abfc0d0", + "rev": "2b0d2b456e4e8452cf1c16d00118d145f31160f9", "type": "github" }, "original": { @@ -882,11 +474,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1765186076, - "narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=", + "lastModified": 1765779637, + "narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8", + "rev": "1306659b587dc277866c7b69eb97e5f07864d8c4", "type": "github" }, "original": { @@ -918,14 +510,14 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_2" + "systems": "systems" }, "locked": { - "lastModified": 1765481271, - "narHash": "sha256-wss8GdEQIIsSDCM0mUtXXtRVLhGTKyWNaKeI8QinWWA=", + "lastModified": 1766065187, + "narHash": "sha256-1d6+VDO26pJzibS5xtANeD6C0e39W07xO4GUPsIwTpk=", "owner": "nix-community", "repo": "nixvim", - "rev": "dfc71c3d484b5962e9c2a22a9d2d4a5fd73fcd54", + "rev": "2a1f48e701bb11297432864ba4cadee3b886eba3", "type": "github" }, "original": { @@ -934,85 +526,18 @@ "type": "github" } }, - "noctalia": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1765420707, - "narHash": "sha256-lX0WxWosQbm3DrZhscVTiLLpJcoZvaQaZoP+eNt75wE=", - "owner": "noctalia-dev", - "repo": "noctalia-shell", - "rev": "298b2f5c794d4641cde21cf20422224bf8a60f99", - "type": "github" - }, - "original": { - "owner": "noctalia-dev", - "repo": "noctalia-shell", - "type": "github" - } - }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat_2", - "gitignore": "gitignore", - "nixpkgs": [ - "hyprland", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1765016596, - "narHash": "sha256-rhSqPNxDVow7OQKi4qS5H8Au0P4S3AYbawBSmJNUtBQ=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "prismlauncher": { - "inputs": { - "libnbtplusplus": "libnbtplusplus", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1765450291, - "narHash": "sha256-8TeC3ktyv+u7fZSaOQ/iG3FZQf8ALebDoyRlHlXSHEk=", - "owner": "PrismLauncher", - "repo": "PrismLauncher", - "rev": "40d1dccb9b3922e5fdc8fc8423ee7df807544c47", - "type": "github" - }, - "original": { - "owner": "PrismLauncher", - "repo": "PrismLauncher", - "type": "github" - } - }, "root": { "inputs": { "awww": "awww", "chaotic": "chaotic", "disko": "disko", "home-manager": "home-manager_2", - "hyprland": "hyprland", "neovim-nightly-overlay": "neovim-nightly-overlay", "niri": "niri", "nixcord": "nixcord", "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable_2", "nixvim": "nixvim", - "noctalia": "noctalia", - "prismlauncher": "prismlauncher", "satty": "satty", "spicetify-nix": "spicetify-nix", "waybar": "waybar", @@ -1126,14 +651,14 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_3" + "systems": "systems_2" }, "locked": { - "lastModified": 1765082296, - "narHash": "sha256-EcefoixU9ht+P6QB/TfjLY9E3MdJVfeSec6G8Ges0pA=", + "lastModified": 1765687197, + "narHash": "sha256-5aJgT+lEC7ypuAGE3DQLj3LzYDQ+kRG6MnkVr3ZF9RU=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "ac4927ea1ec7e7ea3635a1d8b933106a596c4356", + "rev": "fa6a5dde9d95bf7b8f075ff5aceeb1d97fa9043a", "type": "github" }, "original": { @@ -1144,21 +669,6 @@ }, "systems": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_2": { - "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", @@ -1172,7 +682,7 @@ "type": "github" } }, - "systems_3": { + "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1187,7 +697,7 @@ "type": "github" } }, - "systems_4": { + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1204,17 +714,17 @@ }, "waybar": { "inputs": { - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_3", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1761204979, - "narHash": "sha256-QWS3FCd6sTbr1runpZPdpVrhqFu8E5fNOpfp0r9ifLk=", + "lastModified": 1766081478, + "narHash": "sha256-ITz0qE9+3GWe5r0PPl4XYOga+gD776qRAadte2yJ9zI=", "owner": "Alexays", "repo": "Waybar", - "rev": "161367d9617673a4ef9caf8299411dc5153464d1", + "rev": "97eb60677e555221326009e0bc3def67e85d33f4", "type": "github" }, "original": { @@ -1223,47 +733,6 @@ "type": "github" } }, - "xdph": { - "inputs": { - "hyprland-protocols": [ - "hyprland", - "hyprland-protocols" - ], - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1761431178, - "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } - }, "xwayland-satellite-stable": { "flake": false, "locked": { @@ -1284,11 +753,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1765343581, - "narHash": "sha256-HtTPbV6z6AJPg2d0bHaJKFrnNha+SEbHvbJafKAQ614=", + "lastModified": 1765935116, + "narHash": "sha256-lNyckAdrhNKXsi9pNOBYajntNFlWs+BITVoIZuNuwX0=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "f0ad674b7009a6afd80cea59d4fbf975dd68ee95", + "rev": "979eab242e60cf481a31d9de508a1bdaf2dcf7d4", "type": "github" }, "original": { @@ -1306,11 +775,11 @@ "rust-overlay": "rust-overlay_4" }, "locked": { - "lastModified": 1765386628, - "narHash": "sha256-TNUf0mJOh1Ul6s3ZoMk/hUtGN4ilhglZl6+jEUf6Z/4=", + "lastModified": 1766074873, + "narHash": "sha256-9rgKzbfF35IH71xxERqGtZwB2ZWmb9lECTXF3UOT7U4=", "owner": "sxyazi", "repo": "yazi", - "rev": "ac7718c226226e9cde8014d71f42c1036662769a", + "rev": "e7cd66370fbc7786132c675999d026671ac364a6", "type": "github" }, "original": { @@ -19,21 +19,11 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - hyprland = { - url = "github:hyprwm/Hyprland"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - niri = { url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; - noctalia = { - url = "github:noctalia-dev/noctalia-shell"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - waybar = { url = "github:Alexays/Waybar"; inputs.nixpkgs.follows= "nixpkgs"; @@ -73,11 +63,6 @@ url = "github:Gerg-L/spicetify-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; - - prismlauncher = { - url = "github:PrismLauncher/PrismLauncher"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = inputs @{ diff --git a/home/wayland/hyprland/binds.nix b/home/wayland/hyprland/binds.nix deleted file mode 100644 index 303d83d..0000000 --- a/home/wayland/hyprland/binds.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ - wayland.windowManager.hyprland.settings = { - bindm = [ - "$mod, mouse:272, movewindow" - "$mod, mouse:273, resizewindow" - ]; - - bind = [ - "$mod, RETURN, exec, foot" - "$mod, D, exec, wofi --show=drun --lines=5--prompt=\"\"" - "$mod SHIFT, D, exec, grimblast --freeze copy area" -# "$mod SHIFT, F, exec, grimblast copysave output ~/.screenshots/$(date +'%s_hypr.png')" -# "$mod SHIFT, G, exec, grimblast copy active" -# "$mod CTRL, P, exec, swayidle timeout 2 'sleep 1; hyprctl dispatcher dpms off' resume 'hyprctl dispatcher dpms on & pkill swayidle'" - - "$mod SHIFT, Q, killactive," - "$mod CTRL, E, exit," - "$mod, SPACE, togglesplit," - "$mod, F, fullscreen," - "$mod, V, togglefloating," - "$mod, P, pseudo," - - "$mod, H, movefocus, l" - "$mod, L, movefocus, r" - "$mod, K, movefocus, u" - "$mod, J, movefocus, d" - - "$mod SHIFT, H, movewindow, l" - "$mod SHIFT, L, movewindow, r" - "$mod SHIFT, K, movewindow, u" - "$mod SHIFT, J, movewindow, d" - - "$mod SUPER, H, resizeactive, -10 0" - "$mod SUPER, L, resizeactive, 10 0" - "$mod SUPER, K, resizeactive, 0 -10" - "$mod SUPER, J, resizeactive, 0 10" - -# "$mod, E, togglegroup" -# "$mod SHIFT, E, lockactivegroup, toggle" -# "$mod, TAB, changegroupactive, f" -# "$mod SHIFT, TAB, changegroupactive, b" -# "$mod CTRL, L, moveoutofgroup, r" -# "$mod CTRL, H, moveoutofgroup, l" - - ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+" - ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-" - "$mod, Next, exec, playerctl next" - "$mod, Prior, exec, playerctl previous" - - # --- Workspace bindings (1–5) --- - "$mod, 1, workspace, 1" - "$mod, 2, workspace, 2" - "$mod, 3, workspace, 3" - "$mod, 4, workspace, 4" - "$mod, 5, workspace, 5" - - "$mod SHIFT, 1, movetoworkspacesilent, 1" - "$mod SHIFT, 2, movetoworkspacesilent, 2" - "$mod SHIFT, 3, movetoworkspacesilent, 3" - "$mod SHIFT, 4, movetoworkspacesilent, 4" - "$mod SHIFT, 5, movetoworkspacesilent, 5" - ]; - }; -} diff --git a/home/wayland/hyprland/hyprland.nix b/home/wayland/hyprland/hyprland.nix deleted file mode 100644 index 531ea62..0000000 --- a/home/wayland/hyprland/hyprland.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ ... }: -{ - imports = [ - ./binds.nix - ]; - - wayland.windowManager.hyprland = { - enable = true; - settings = { - - general = { - gaps_in = 6; - gaps_out = 16; - border_size = 2; - }; - - decoration = { - rounding = 12; - }; - - "$mod" = "ALT"; - monitor = [ - "DP-1,2560x1440@240,0x0,1,vrr,0" - ]; - workspace = [ - "1,monitor:DP-1,default:true" - "2,monitor:DP-1" - "3,monitor:DP-1" - "4,monitor:DP-1" - "5,monitor:DP-1" - ]; - - input = { - kb_layout = "pl"; - - accel_profile = "flat"; - sensitivity = -0.6; - repeat_rate = 45; - repeat_delay = 500; - }; - - animations = { - enabled = false; - }; - }; - }; -} diff --git a/home/wayland/noctalia.nix b/home/wayland/noctalia.nix deleted file mode 100644 index e0b402d..0000000 --- a/home/wayland/noctalia.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ inputs, ... }: -{ - imports = [ inputs.noctalia.homeModules.default ]; - - programs.noctalia-shell = { - enable = true; - }; -} diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index d4cd0d7..be74098 100644 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -2,37 +2,37 @@ { nixpkgs.config.allowUnfree = true; - imports = - [ + imports = [ ./hardware-configuration.nix - ../../modules/greet.nix - ../../modules/virtualization.nix - ../../modules/boot.nix - ../../modules/audio.nix - ../../modules/networking.nix - # ../../modules/scx.nix - ../../modules/tor.nix - # ../../modules/hyprland.nix - ../../modules/niri.nix - ../../modules/ollama.nix + ../../modules/sys/default.nix inputs.home-manager.nixosModules.home-manager inputs.chaotic.nixosModules.default ]; - home-manager = { - extraSpecialArgs = { inherit inputs; }; - users = { - "adam" = import ../../home/home.nix; + szpont = { + audio.enable = true; + bootloader = "systemd-boot"; + drivers = { + enable = true; + amd.enable = true; + stability = "unstable"; + }; + fonts.enable = true; + greet.enable = true; + home-manager = { + enable = true; + users.adam.path = ./home.nix; }; - backupFileExtension = "bak"; - useGlobalPkgs = true; - useUserPackages = true; + locale.enable = true; + network.enable = true; + security.enable = true; + virtualization.enable = true; + niri.enable = true; }; - services.smartd.enable = true; - - services.spotifyd = { + programs.alvr = { enable = true; + openFirewall = true; }; programs.thunar = { @@ -76,46 +76,16 @@ programs.steam = { protontricks.enable = true; extraCompatPackages = with pkgs; [ - proton-cachyos_nightly_x86_64_v4 - proton-cachyos_x86_64_v4 proton-ge-custom ]; }; - services.flatpak.enable = true; - -hardware.cpu.amd.updateMicrocode = true; - -services.xserver.videoDrivers = [ "amdgpu" ]; -hardware.sensor.iio.enable = true; -services.lact.enable = true; - - nix.settings = { - trusted-users = [ "root" "adam" ]; - experimental-features = [ "nix-command" "flakes" ]; - }; - - hardware = { - enableRedistributableFirmware = true; - graphics = { - enable = true; - enable32Bit = true; - }; - amdgpu = { - initrd.enable = true; - overdrive.enable = true; - }; - }; - -chaotic = { - mesa-git = { + programs.gamemode = { enable = true; - fallbackSpecialisation = false; - extraPackages = with pkgs; [ - mesa_git.opencl - ]; + enableRenice = true; }; -}; + + services.flatpak.enable = true; services.dbus.enable = true; @@ -126,29 +96,6 @@ chaotic = { ]; }; - time.timeZone = "Europe/Warsaw"; - - i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_TIME = "pl_PL.UTF-8"; - LC_NUMERIC = "pl_PL.UTF-8"; - LC_MONETARY = "pl_PL.UTF-8"; - LC_PAPER = "pl_PL.UTF-8"; - LC_MEASUREMENT = "pl_PL.UTF-8"; - LC_COLLATE = "pl_PL.UTF-8"; - LC_NAME = "pl_PL.UTF-8"; - LC_ADDRESS = "pl_PL.UTF-8"; - LC_TELEPHONE = "pl_PL.UTF-8"; - LC_IDENTIFICATION = "pl_PL.UTF-8"; - }; - - console = { - keyMap = "pl"; - earlySetup = true; - font = "ter-v32n"; - packages = with pkgs; [ terminus_font ]; - }; - environment.sessionVariables = { NIXOS_OZONE_WL = "1"; ELECTRON_ENABLE_WAYLAND = "1"; @@ -158,45 +105,27 @@ environment.sessionVariables = { users.users.adam = { isNormalUser = true; - extraGroups = [ "wheel" "input" "docker" ]; + extraGroups = [ "wheel" "input" ]; home = "/home/adam"; shell = pkgs.fish; }; - programs.nh = { - enable = true; - flake = "/etc/nixos"; - }; - environment.systemPackages = with pkgs; [ pigz + pxz nautilus - gnome-keyring - kdePackages.dolphin swaylock-effects swayidle helvum fuzzel wineWowPackages.waylandFull - # wineWowPackages.unstableFull winetricks - tuigreet linux-firmware mangohud cliphist wl-clipboard - nix-output-monitor - nvd rivalcfg - lutris - easyeffects ]; - fonts.packages = with pkgs; [ - nerd-fonts.jetbrains-mono - nerd-fonts.fira-mono - nerd-fonts.fira-code -]; - system.stateVersion = "25.05"; } diff --git a/home/home.nix b/hosts/desktop/home.nix index d2b134f..71580b7 100644 --- a/home/home.nix +++ b/hosts/desktop/home.nix @@ -1,27 +1,7 @@ { pkgs, inputs, ... }: { imports = [ - # Window Managers - # ./wayland/hyprland/hyprland.nix - ./wayland/niri/niri.nix - # Wayland specific programs - ./wayland/waybar.nix - ./wayland/noctalia.nix - # Editors - ./editors/nixvim.nix - # ./editors/helix.nix - # Programs - ./terminal/foot.nix - ./terminal/fish.nix - ./terminal/starship.nix - ./terminal/utils.nix - ./terminal/btop.nix - ./programs/spicetify.nix - ./programs/nixcord.nix - ./programs/yazi.nix - # Other - ./xdg.nix - ./git.nix + ../../modules/hm/default.nix ]; home.username = "adam"; @@ -29,17 +9,20 @@ home.stateVersion = "25.05"; home.packages = with pkgs; [ + librewolf + gavin-bc + qalculate-gtk + onlyoffice-desktopeditors + file + heroic protonvpn-gui - v2raya evolution imagemagick kdePackages.kdenlive syncplay - wofi bottles ncdu - equibop - inputs.prismlauncher.packages.${pkgs.stdenv.hostPlatform.system}.prismlauncher + prismlauncher inputs.awww.packages.${pkgs.stdenv.hostPlatform.system}.awww grim slurp @@ -53,13 +36,17 @@ ffmpeg mpv gimp - mako thunderbird - magic-wormhole obsidian - alsa-utils ]; + services.easyeffects.enable = true; + + services.cliphist = { + enable = true; + systemdTargets = [ "graphical-session.target" ]; + }; + gtk = { enable = true; colorScheme = "dark"; diff --git a/modules/audio.nix b/modules/audio.nix deleted file mode 100644 index 05bc8a0..0000000 --- a/modules/audio.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ ... }: -{ - services = { - pipewire = { - enable = true; - audio.enable = true; - pulse.enable = true; - alsa.enable = true; - alsa.support32Bit = true; - jack.enable = true; - wireplumber.enable = true; - }; - playerctld = { - enable = true; - }; - }; - - hardware.enableAllFirmware = true; - security.rtkit.enable = true; -} diff --git a/modules/boot.nix b/modules/boot.nix deleted file mode 100644 index 9a90734..0000000 --- a/modules/boot.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ pkgs, ... }: -{ - boot = { - loader = { - efi.canTouchEfiVariables = true; - systemd-boot = { - enable = true; - editor = false; - configurationLimit = null; - }; - timeout = 0; - }; - - supportedFilesystems = [ "ntfs" ]; - initrd.kernelModules = [ "amdgpu" "kvm-amd" ]; - kernelParams = [ - "video=DP-1:2560x1440@240" - "quiet" - ]; - kernelPackages = pkgs.linuxPackages_cachyos-lto-znver4; - # kernelPackages = pkgs.linuxPackages_latest; - }; -} diff --git a/modules/greet.nix b/modules/greet.nix deleted file mode 100644 index 13877c5..0000000 --- a/modules/greet.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs, config, ... }: - -let - xsessions = "${config.services.displayManager.sessionData.desktops}/share/xsessions"; - waylandSessions = "${config.services.displayManager.sessionData.desktops}/share/wayland-sessions"; -in { - services.greetd = { - enable = true; - settings = { - default_session = { - command = "${pkgs.tuigreet}/bin/tuigreet --sessions ${xsessions}:${waylandSessions} --remember --remember-user-session --asterisks --greeting 'Welcome to NixOS!' --time"; - user = "greeter"; - }; - }; - }; -} diff --git a/modules/hm/default.nix b/modules/hm/default.nix new file mode 100644 index 0000000..d388717 --- /dev/null +++ b/modules/hm/default.nix @@ -0,0 +1,12 @@ +{ ... }: +{ + imports = [ + ./editors/default.nix + ./programs/default.nix + ./terminal/default.nix + ./wayland/default.nix + + ./git.nix + ./xdg.nix + ]; +} diff --git a/modules/hm/editors/default.nix b/modules/hm/editors/default.nix new file mode 100644 index 0000000..e990897 --- /dev/null +++ b/modules/hm/editors/default.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + imports = [ + ./nixvim.nix + # ./helix.nix + # ./nvf.nix + ]; +} diff --git a/home/editors/helix.nix b/modules/hm/editors/helix.nix index 0204f8d..0204f8d 100644 --- a/home/editors/helix.nix +++ b/modules/hm/editors/helix.nix diff --git a/home/editors/nixvim.nix b/modules/hm/editors/nixvim.nix index b8a4e5a..b8a4e5a 100644 --- a/home/editors/nixvim.nix +++ b/modules/hm/editors/nixvim.nix diff --git a/home/editors/nvf.nix b/modules/hm/editors/nvf.nix index ab805ca..ab805ca 100644 --- a/home/editors/nvf.nix +++ b/modules/hm/editors/nvf.nix diff --git a/home/git.nix b/modules/hm/git.nix index dc11881..dc11881 100644 --- a/home/git.nix +++ b/modules/hm/git.nix diff --git a/modules/hm/programs/default.nix b/modules/hm/programs/default.nix new file mode 100644 index 0000000..df6fb8b --- /dev/null +++ b/modules/hm/programs/default.nix @@ -0,0 +1,9 @@ +{ ... }: +{ + imports = [ + ./nixcord.nix + ./satty.nix + ./spicetify.nix + ./yazi.nix + ]; +} diff --git a/home/programs/nixcord.nix b/modules/hm/programs/nixcord.nix index d7978af..d7978af 100644 --- a/home/programs/nixcord.nix +++ b/modules/hm/programs/nixcord.nix diff --git a/home/programs/satty.nix b/modules/hm/programs/satty.nix index facb35d..facb35d 100644 --- a/home/programs/satty.nix +++ b/modules/hm/programs/satty.nix diff --git a/home/programs/spicetify.nix b/modules/hm/programs/spicetify.nix index 9d66181..9d66181 100644 --- a/home/programs/spicetify.nix +++ b/modules/hm/programs/spicetify.nix diff --git a/home/programs/yazi.nix b/modules/hm/programs/yazi.nix index a8e2911..a8e2911 100644 --- a/home/programs/yazi.nix +++ b/modules/hm/programs/yazi.nix diff --git a/home/terminal/btop.nix b/modules/hm/terminal/btop.nix index dcd59ed..dcd59ed 100644 --- a/home/terminal/btop.nix +++ b/modules/hm/terminal/btop.nix diff --git a/modules/hm/terminal/default.nix b/modules/hm/terminal/default.nix new file mode 100644 index 0000000..635f75e --- /dev/null +++ b/modules/hm/terminal/default.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + imports = [ + ./btop.nix + ./fish.nix + ./foot.nix + ./starship.nix + ./utils.nix + ]; +} diff --git a/home/terminal/fish.nix b/modules/hm/terminal/fish.nix index ec75de8..ec75de8 100644 --- a/home/terminal/fish.nix +++ b/modules/hm/terminal/fish.nix diff --git a/home/terminal/foot.nix b/modules/hm/terminal/foot.nix index 5c3098b..5c3098b 100644 --- a/home/terminal/foot.nix +++ b/modules/hm/terminal/foot.nix diff --git a/home/terminal/starship.nix b/modules/hm/terminal/starship.nix index 82ab84e..82ab84e 100644 --- a/home/terminal/starship.nix +++ b/modules/hm/terminal/starship.nix diff --git a/home/terminal/utils.nix b/modules/hm/terminal/utils.nix index c408e4a..c408e4a 100644 --- a/home/terminal/utils.nix +++ b/modules/hm/terminal/utils.nix diff --git a/modules/hm/wayland/default.nix b/modules/hm/wayland/default.nix new file mode 100644 index 0000000..a42476b --- /dev/null +++ b/modules/hm/wayland/default.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + imports = [ + ./niri/default.nix + + ./waybar.nix + ]; +} diff --git a/home/wayland/niri/binds.nix b/modules/hm/wayland/niri/binds.nix index 53d2d4e..1ff3a38 100644 --- a/home/wayland/niri/binds.nix +++ b/modules/hm/wayland/niri/binds.nix @@ -39,14 +39,12 @@ "Mod+Shift+P".action = power-off-monitors; "Mod+W".action = toggle-column-tabbed-display; - # Screenshot (selection -> copy + save) "Mod+S".action = spawn "sh" "-c" '' filename="/media/pics/ss/$(date +%Y-%m-%d_%H-%M-%S).png" grim -g "$(slurp)" - | tee "$filename" | wl-copy ''; - # Screenshot (selection -> save -> edit with satty -> copy edited) "Mod+Shift+S".action = spawn "sh" "-c" '' filename="/media/pics/ss/$(date +%Y-%m-%d_%H-%M-%S).png" @@ -64,6 +62,7 @@ # --- System / General --- "Mod+Return".action = spawn "foot"; "Mod+D".action = spawn "fuzzel"; + "Mod+C".action = spawn "qalculate-gtk"; "Mod+BracketLeft".action = consume-or-expel-window-left; "Mod+BracketRight".action = consume-or-expel-window-right; diff --git a/modules/hm/wayland/niri/default.nix b/modules/hm/wayland/niri/default.nix new file mode 100644 index 0000000..61e7799 --- /dev/null +++ b/modules/hm/wayland/niri/default.nix @@ -0,0 +1,7 @@ +{ ... }: +{ + imports = [ + ./niri.nix + ./binds.nix + ]; +} diff --git a/home/wayland/niri/niri.nix b/modules/hm/wayland/niri/niri.nix index 341866a..e6c8619 100644 --- a/home/wayland/niri/niri.nix +++ b/modules/hm/wayland/niri/niri.nix @@ -1,8 +1,5 @@ { lib, pkgs, ... }: { - imports = [ - ./binds.nix - ]; programs.niri.settings = { prefer-no-csd = true; hotkey-overlay.skip-at-startup = true; @@ -70,8 +67,6 @@ spawn-at-startup = [ { command = [ "${lib.getExe pkgs.xwayland-satellite}" ]; } { command = [ "awww-daemon" ]; } - # { command = [ "noctalia-shell" ]; } - { command = [ "wl-paste --watch cliphist store" ]; } ]; }; } diff --git a/home/wayland/waybar.nix b/modules/hm/wayland/waybar.nix index 17a2f46..17a2f46 100644 --- a/home/wayland/waybar.nix +++ b/modules/hm/wayland/waybar.nix diff --git a/home/xdg.nix b/modules/hm/xdg.nix index 07b78f1..07b78f1 100644 --- a/home/xdg.nix +++ b/modules/hm/xdg.nix diff --git a/modules/hyprland.nix b/modules/hyprland.nix deleted file mode 100644 index 471f696..0000000 --- a/modules/hyprland.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, inputs, ... }: -{ - programs.hyprland = { - enable = true; - # package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; - }; -} diff --git a/modules/memory.nix b/modules/memory.nix deleted file mode 100644 index 9a7f0cf..0000000 --- a/modules/memory.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, pkgs, ... }: - -{ - zramSwap = { - enable = true; - memoryPercent = 25; - algorithm = "zstd"; - }; - - swapDevices = [ - { - device = "/swap"; - size = 32 * 1024; - } - ]; -} diff --git a/modules/networking.nix b/modules/networking.nix deleted file mode 100644 index 0b3cf91..0000000 --- a/modules/networking.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ ... }: -{ - systemd.services."NetworkManager-wait-online".enable = false; - networking = { - hostName = "szpont"; - - networkmanager = { - enable = true; - wifi.macAddress = "stable-ssid"; - ethernet.macAddress = "stable-ssid"; - }; - - firewall = { - enable = true; - allowedTCPPorts = [ 9150 ]; - allowedUDPPorts = [ 9150 ]; - }; - - nameservers = [ ]; - }; - # services.resolved = { - # enable = true; - # domains = [ "1.1.1.1" "8.8.8.8" ]; - # }; -} diff --git a/modules/niri.nix b/modules/niri.nix deleted file mode 100644 index 7c55687..0000000 --- a/modules/niri.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ inputs, pkgs, ... }: -{ - imports = [ inputs.niri.nixosModules.niri ]; - nixpkgs.overlays = [ inputs.niri.overlays.niri ]; - programs.niri = { - enable = true; - package = pkgs.niri-unstable; - }; -} diff --git a/modules/scx.nix b/modules/scx.nix deleted file mode 100644 index 0f777fe..0000000 --- a/modules/scx.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ ... }: -{ - services.scx = { - enable = true; - scheduler = "scx_lavd"; - extraArgs =[ - '' - --performance - '' - ]; - }; -} diff --git a/modules/sys/core/audio.nix b/modules/sys/core/audio.nix new file mode 100644 index 0000000..0769f8d --- /dev/null +++ b/modules/sys/core/audio.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: +{ + options.szpont.audio.enable = lib.mkEnableOption "audio support"; + + config = lib.mkIf config.szpont.audio.enable { + services = { + pipewire = { + enable = true; + audio.enable = true; + pulse.enable = true; + alsa.enable = true; + alsa.support32Bit = true; + jack.enable = true; + wireplumber.enable = true; + }; + + playerctld.enable = true; + spotifyd.enable = true; + }; + + security.rtkit.enable = true; + hardware.enableAllFirmware = true; + + environment.systemPackages = with pkgs; [ + alsa-utils + ]; + }; +} diff --git a/modules/sys/core/bootloader.nix b/modules/sys/core/bootloader.nix new file mode 100644 index 0000000..dabea20 --- /dev/null +++ b/modules/sys/core/bootloader.nix @@ -0,0 +1,36 @@ +{ config, lib, ... }: +{ + options.szpont.bootloader = lib.mkOption { + type = lib.types.enum [ "systemd-boot" "grub" "none" ]; + description = "which bootloader to use"; + }; + + config = lib.mkMerge [ + { + boot.loader.efi.canTouchEfiVariables = true; + boot.supportedFilesystems = [ "ntfs" ]; + } + + (lib.mkIf (config.szpont.bootloader == "systemd-boot") { + boot = { + kernelParams = [ "quiet" ]; + + loader = { + systemd-boot = { + enable = true; + editor = false; + }; + timeout = 0; + }; + }; + }) + + (lib.mkIf (config.szpont.bootloader == "grub") { + boot.loader.grub = { + enable = true; + device = "nodev"; + efiSupport = true; + }; + }) + ]; +} diff --git a/modules/sys/core/default.nix b/modules/sys/core/default.nix new file mode 100644 index 0000000..da8f277 --- /dev/null +++ b/modules/sys/core/default.nix @@ -0,0 +1,14 @@ +{ ... }: +{ + imports = [ + ./audio.nix + ./bootloader.nix + ./drivers.nix + ./fonts.nix + ./greet.nix + ./home-manager.nix + ./localization.nix + ./networking.nix + ./security.nix + ]; +} diff --git a/modules/sys/core/drivers.nix b/modules/sys/core/drivers.nix new file mode 100644 index 0000000..f12f6ab --- /dev/null +++ b/modules/sys/core/drivers.nix @@ -0,0 +1,56 @@ +{ config, lib, pkgs, ... }: +{ + options.szpont.drivers = { + enable = lib.mkEnableOption "enables hardware drivers"; + + amd.enable = lib.mkEnableOption "AMD specific drivers and microcode"; + + stability = lib.mkOption { + type = lib.types.enum [ "stable" "unstable" ]; + default = "stable"; + }; + }; + + config = lib.mkMerge [ + { + services.smartd.enable = true; + hardware = { + sensor.iio.enable = true; + + enableRedistributableFirmware = true; + graphics = { + enable = true; + enable32Bit = true; + }; + }; + } + + (lib.mkIf config.szpont.drivers.amd.enable (lib.mkMerge [ + { + services.xserver.videoDrivers = [ "amdgpu" ]; + hardware = { + cpu.amd.updateMicrocode = true; + amdgpu = { + initrd.enable = true; + overdrive.enable = true; + }; + }; + } + + (lib.mkIf (config.szpont.drivers.stability == "unstable") { + services.lact.enable = true; + + boot.kernelPackages = pkgs.linuxPackages_cachyos-lto-znver4; + chaotic.mesa-git = { + enable = true; + fallbackSpecialisation = false; + extraPackages = [ pkgs.mesa_git.opencl ]; + }; + }) + + (lib.mkIf (config.szpont.drivers.stability == "stable") { + boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; + }) + ])) + ]; +} diff --git a/modules/sys/core/fonts.nix b/modules/sys/core/fonts.nix new file mode 100644 index 0000000..af2c78d --- /dev/null +++ b/modules/sys/core/fonts.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: +{ + options.szpont.fonts = { + enable = lib.mkEnableOption "system-wide fonts and console configuration"; + }; + + config = lib.mkIf config.szpont.fonts.enable { + console = { + keyMap = "pl"; + earlySetup = true; + font = "ter-v32n"; + packages = with pkgs; [ terminus_font ]; + }; + + fonts.packages = with pkgs; [ + nerd-fonts.jetbrains-mono + nerd-fonts.fira-mono + nerd-fonts.fira-code + ]; + }; +} diff --git a/modules/sys/core/greet.nix b/modules/sys/core/greet.nix new file mode 100644 index 0000000..4f4abf9 --- /dev/null +++ b/modules/sys/core/greet.nix @@ -0,0 +1,27 @@ +{ config, lib, pkgs, ... }: +{ + options.szpont.greet.enable = lib.mkEnableOption "enables greetd daemon with tuigreet"; + + config = lib.mkIf config.szpont.greet.enable { + services.greetd = { + enable = true; + settings = { + default_session = { + user = "greeter"; + command = '' + ${pkgs.tuigreet}/bin/tuigreet \ + --sessions ${config.services.displayManager.sessionData.desktops}/share/xsessions:${config.services.displayManager.sessionData.desktops}/share/wayland-sessions \ + --remember \ + --remember-user-session \ + --asterisks \ + --greeting 'Welcome to NixOS!' \ + --time + ''; + }; + }; + }; + security.pam.services.greetd.enableGnomeKeyring = true; + + environment.systemPackages = with pkgs; [ tuigreet ]; + }; +} diff --git a/modules/sys/core/home-manager.nix b/modules/sys/core/home-manager.nix new file mode 100644 index 0000000..06f909f --- /dev/null +++ b/modules/sys/core/home-manager.nix @@ -0,0 +1,30 @@ +{ config, lib, inputs, ... }: +{ + options.szpont.home-manager = { + enable = lib.mkEnableOption "Home Manager configuration manager"; + + users = lib.mkOption { + default = {}; + description = "Attribute set of users and their home-manager configurations"; + type = lib.types.attrsOf (lib.types.submodule { + options = { + path = lib.mkOption { + type = lib.types.path; + description = "Path to the user's home.nix file"; + }; + }; + }); + }; + }; + + config = lib.mkIf config.szpont.home-manager.enable { + home-manager = { + extraSpecialArgs = { inherit inputs; }; + useGlobalPkgs = true; + useUserPackages = true; + backupFileExtension = "bak"; + + users = lib.mapAttrs (name: user: import user.path) config.szpont.home-manager.users; + }; + }; +} diff --git a/modules/sys/core/localization.nix b/modules/sys/core/localization.nix new file mode 100644 index 0000000..232133d --- /dev/null +++ b/modules/sys/core/localization.nix @@ -0,0 +1,39 @@ +{ config, lib, ... }: +{ + options.szpont.locale = { + enable = lib.mkEnableOption "system localization (timezone and language)"; + + timeZone = lib.mkOption { + type = lib.types.str; + default = "Europe/Warsaw"; + description = "the system timezone."; + }; + + format = lib.mkOption { + type = lib.types.str; + default = "pl_PL.UTF-8"; + description = "the locale used for numbers, time, and measurements."; + }; + }; + + config = lib.mkIf config.szpont.locale.enable { + time.timeZone = config.szpont.locale.timeZone; + + i18n = { + defaultLocale = "en_US.UTF-8"; + + extraLocaleSettings = { + LC_TIME = config.szpont.locale.format; + LC_NUMERIC = config.szpont.locale.format; + LC_MONETARY = config.szpont.locale.format; + LC_PAPER = config.szpont.locale.format; + LC_MEASUREMENT = config.szpont.locale.format; + LC_COLLATE = config.szpont.locale.format; + LC_NAME = config.szpont.locale.format; + LC_ADDRESS = config.szpont.locale.format; + LC_TELEPHONE = config.szpont.locale.format; + LC_IDENTIFICATION = config.szpont.locale.format; + }; + }; + }; +} diff --git a/modules/sys/core/networking.nix b/modules/sys/core/networking.nix new file mode 100644 index 0000000..7964e8b --- /dev/null +++ b/modules/sys/core/networking.nix @@ -0,0 +1,29 @@ +{ config, lib, ... }: +{ + options.szpont.network = { + enable = lib.mkEnableOption "system-wide networking setup"; + + hostName = lib.mkOption { + type = lib.types.str; + default = "nixos"; + description = "The hostname for this specific machine."; + }; + }; + + config = lib.mkIf config.szpont.network.enable { + networking = { + hostName = config.szpont.network.hostName; + + networkmanager = { + enable = true; + wifi.macAddress = "stable-ssid"; + ethernet.macAddress = "stable-ssid"; + }; + + firewall = { + enable = true; + }; + }; + systemd.services."NetworkManager-wait-online".enable = false; + }; +} diff --git a/modules/sys/core/security.nix b/modules/sys/core/security.nix new file mode 100644 index 0000000..b2b7827 --- /dev/null +++ b/modules/sys/core/security.nix @@ -0,0 +1,27 @@ +{ config, lib, pkgs, ... }: +{ + options.szpont.security = { + enable = lib.mkEnableOption "core security services"; + }; + + config = lib.mkIf config.szpont.security.enable { + services.gnome.gnome-keyring.enable = true; + + security = { + polkit.enable = true; + rtkit.enable = true; + }; + + systemd.user.services.polkit-gnome-authentication-agent-1 = { + description = "gnome-polkit-authentication-agent-1"; + wantedBy = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + }; +} diff --git a/modules/sys/default.nix b/modules/sys/default.nix new file mode 100644 index 0000000..72c9ffc --- /dev/null +++ b/modules/sys/default.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + imports = [ + ./core/default.nix + ./features/default.nix + ./wayland/default.nix + ]; +} diff --git a/modules/sys/features/default.nix b/modules/sys/features/default.nix new file mode 100644 index 0000000..790dc25 --- /dev/null +++ b/modules/sys/features/default.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + imports = [ + ./nh.nix + ./ollama.nix + ./virtualization.nix + ]; +} diff --git a/modules/sys/features/nh.nix b/modules/sys/features/nh.nix new file mode 100644 index 0000000..d24d88b --- /dev/null +++ b/modules/sys/features/nh.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: +{ + options.szpont.nh = { + enable = lib.mkOption { + type = lib.types.bool; + default = true; + }; + }; + + config = lib.mkIf config.szpont.nh.enable { + nix.settings = { + trusted-users = [ "root" "adam" ]; + experimental-features = [ "nix-command" "flakes" ]; + }; + + programs.nh = { + enable = true; + flake = "/etc/nixos"; + }; + + environment.systemPackages = with pkgs; [ + nix-output-monitor + nvd + ]; + }; +} diff --git a/modules/ollama.nix b/modules/sys/features/ollama.nix index 0989419..0989419 100644 --- a/modules/ollama.nix +++ b/modules/sys/features/ollama.nix diff --git a/modules/sys/features/virtualization.nix b/modules/sys/features/virtualization.nix new file mode 100644 index 0000000..bb3e6cb --- /dev/null +++ b/modules/sys/features/virtualization.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: +{ + options.szpont.virtualization = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + + kvm = { + enable = lib.mkOption { + type = lib.types.bool; + default = true; + }; + }; + docker = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + }; + }; + + config = lib.mkIf config.szpont.virtualization.enable (lib.mkMerge [ + (lib.mkIf config.szpont.virtualization.kvm.enable { + virtualisation.libvirtd = { + enable = true; + qemu.package = pkgs.qemu_kvm; + qemu.swtpm.enable = true; + }; + programs.virt-manager.enable = true; + users.users.adam.extraGroups = [ "libvirtd" ]; + boot.initrd.kernelModules = [ "kvm-amd" ]; + }) + + (lib.mkIf config.szpont.virtualization.docker.enable { + virtualisation.docker.enable = true; + environment.systemPackages = [ pkgs.docker-compose ]; + users.users.adam.extraGroups = [ "docker" ]; + }) + ]); +} diff --git a/modules/sys/wayland/default.nix b/modules/sys/wayland/default.nix new file mode 100644 index 0000000..48df857 --- /dev/null +++ b/modules/sys/wayland/default.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + imports = [ + ./niri.nix + ]; +} diff --git a/modules/sys/wayland/niri.nix b/modules/sys/wayland/niri.nix new file mode 100644 index 0000000..2054d9d --- /dev/null +++ b/modules/sys/wayland/niri.nix @@ -0,0 +1,20 @@ +{ inputs, config, lib, pkgs, ... }: +{ + imports = [ inputs.niri.nixosModules.niri ]; + + options.szpont.niri = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + }; + + config = lib.mkIf config.szpont.niri.enable { + nixpkgs.overlays = [ inputs.niri.overlays.niri ]; + + programs.niri = { + enable = true; + package = pkgs.niri-unstable; + }; + }; +} diff --git a/modules/tor.nix b/modules/tor.nix deleted file mode 100644 index bef081c..0000000 --- a/modules/tor.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ pkgs, ... }: -{ - # networking.proxy.default = "https://127.0.0.1:8118"; - services = { - tor = { - enable = true; - # openFirewall = true; - torsocks.enable = true; - # torsocks.allowInbound = true; - client.enable = true; - # client = { - # enable = true; - # dns.enable = true; - # }; - - # settings.DNSPort = [{ - # addr = "127.0.0.1"; - # port = 53; - # }]; - - # torsocks.enable = true; - }; - privoxy = { - enable = true; - enableTor = true; - }; - }; - - environment.systemPackages = with pkgs; [ - tor - torsocks - tor-browser - torctl - vanguards - tractor - onioncircuits - oniux - ]; - - # networking.nameservers = [ "127.0.0.1" ]; -} diff --git a/modules/virtualization.nix b/modules/virtualization.nix deleted file mode 100644 index 0071f1a..0000000 --- a/modules/virtualization.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ pkgs, ... }: -{ - virtualisation = { - libvirtd = { - enable = true; - qemu = { - package = pkgs.qemu_kvm; - swtpm.enable = true; - }; - }; - - docker = { - enable = true; - extraPackages = with pkgs; [ docker-compose ]; - }; - containerd.enable = false; - }; - - programs.virt-manager.enable = true; - networking.firewall.allowedTCPPorts = [ 5984 ]; - - users.users.adam.extraGroups = [ "libvirtd" "kvm" "docker" ]; -} |
