diff --git a/flake.lock b/flake.lock index e9aa29e..8a2a553 100644 --- a/flake.lock +++ b/flake.lock @@ -74,11 +74,11 @@ ] }, "locked": { - "lastModified": 1728330715, - "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "lastModified": 1735644329, + "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", "owner": "numtide", "repo": "devshell", - "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", + "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", "type": "github" }, "original": { @@ -94,11 +94,11 @@ ] }, "locked": { - "lastModified": 1734701201, - "narHash": "sha256-hk0roBX10j/hospoWIJIJj3i2skd7Oml6yKQBx7mTFk=", + "lastModified": 1735468753, + "narHash": "sha256-2dt1nOe9zf9pDkf5Kn7FUFyPRo581s0n90jxYXJ94l0=", "owner": "nix-community", "repo": "disko", - "rev": "2ee76c861af3b895b3b104bae04777b61397485b", + "rev": "84a5b93637cc16cbfcc61b6e1684d626df61eb21", "type": "github" }, "original": { @@ -145,11 +145,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1735774679, + "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66", "type": "github" }, "original": { @@ -223,18 +223,14 @@ "nixpkgs": [ "nixvim", "nixpkgs" - ], - "nixpkgs-stable": [ - "nixvim", - "nixpkgs" ] }, "locked": { - "lastModified": 1734797603, - "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", + "lastModified": 1735882644, + "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", + "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", "type": "github" }, "original": { @@ -289,11 +285,11 @@ ] }, "locked": { - "lastModified": 1734992499, - "narHash": "sha256-f9UyHMTb+BwF6RDZ8eO9HOkSlKeeSPBlcYhMmV1UNIk=", + "lastModified": 1735925111, + "narHash": "sha256-/NptDI4njO5hH0ZVQ2yzbvTXmBOabZaGYkjhnMJ37TY=", "owner": "nix-community", "repo": "home-manager", - "rev": "f1b1786ea77739dcd181b920d430e30fb1608b8a", + "rev": "ef64efdbaca99f9960f75efab991e4c49e79a5f1", "type": "github" }, "original": { @@ -310,11 +306,11 @@ ] }, "locked": { - "lastModified": 1734862405, - "narHash": "sha256-bXZJvUMJ2A6sIpYcCUAGjYCD5UDzmpmQCdmJSkPhleU=", + "lastModified": 1735900408, + "narHash": "sha256-U+oZBQ3f5fF2hHsupKQH4ihgTKLHgcJh6jEmKDg+W10=", "owner": "nix-community", "repo": "home-manager", - "rev": "cb27edb5221d2f2920a03155f8becc502cf60e35", + "rev": "1c8d4c8d592e8fab4cff4397db5529ec6f078cf9", "type": "github" }, "original": { @@ -331,11 +327,11 @@ ] }, "locked": { - "lastModified": 1733085484, - "narHash": "sha256-dVmNuUajnU18oHzBQWZm1BQtANCHaqNuxTHZQ+GN0r8=", + "lastModified": 1735774425, + "narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=", "owner": "nix-community", "repo": "home-manager", - "rev": "c1fee8d4a60b89cae12b288ba9dbc608ff298163", + "rev": "5f6aa268e419d053c3d5025da740e390b12ac936", "type": "github" }, "original": { @@ -380,11 +376,11 @@ ] }, "locked": { - "lastModified": 1734725857, - "narHash": "sha256-bivlV9l/UjMtTfz/CZaoNJ5RfH2Lre4P9Ds64conoUQ=", + "lastModified": 1735931035, + "narHash": "sha256-f3WRxasPYVKzrvAlLq+/3FRHQVfxVf5xxf0WWwnO99k=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "dbae2fd6adaf34c947d310bec08deac7c4ed265b", + "rev": "7e530766a5fd9b7577296fedd655f3255f7495d8", "type": "github" }, "original": { @@ -405,11 +401,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1735381519, - "narHash": "sha256-Nti4KlTGglrdaO/9WM3SOr12mbgI9EquYXLZ11vyGTI=", + "lastModified": 1735926524, + "narHash": "sha256-BRcp1VNIeGL709AfiVTKx06ZnjhuixZtB7Wjryo8c+s=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "95351433dd401ddd764ad5745c8211ddc36a9a8a", + "rev": "470ebbc098914eded248cc257bcd67f0036e96a4", "type": "github" }, "original": { @@ -438,11 +434,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1735303376, - "narHash": "sha256-LhKE5o5R6LDhfdoJ0xh2qODcw6nLUv14n3dvsazIito=", + "lastModified": 1735914396, + "narHash": "sha256-QMvvPKqqaTCfGQf4v77lyz8n8gabuQbocc5tzA8x8cw=", "owner": "YaLTeR", "repo": "niri", - "rev": "4e357e9659e5aafeec3cdeb18581698716d97a78", + "rev": "b3c6f0e661878c7ab4f3c84c480ae61a5de5d3b3", "type": "github" }, "original": { @@ -459,11 +455,11 @@ ] }, "locked": { - "lastModified": 1733570843, - "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", + "lastModified": 1735685839, + "narHash": "sha256-62xAPSs5VRZoPH7eRanUn5S5vZEd+8vM4bD5I+zxokc=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "a35b08d09efda83625bef267eb24347b446c80b8", + "rev": "6a1fdb2a1204c0de038847b601cff5012e162b5e", "type": "github" }, "original": { @@ -496,11 +492,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1734954597, - "narHash": "sha256-QIhd8/0x30gEv8XEE1iAnrdMlKuQ0EzthfDR7Hwl+fk=", + "lastModified": 1735388221, + "narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "def1d472c832d77885f174089b0d34854b007198", + "rev": "7c674c6734f61157e321db595dbfcd8523e04e19", "type": "github" }, "original": { @@ -511,11 +507,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", "type": "github" }, "original": { @@ -527,11 +523,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1735264675, - "narHash": "sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G+yO4Ak=", + "lastModified": 1735669367, + "narHash": "sha256-tfYRbFhMOnYaM4ippqqid3BaLOXoFNdImrfBfCp4zn0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d49da4c08359e3c39c4e27c74ac7ac9b70085966", + "rev": "edf04b75c13c2ac0e54df5ec5c543e300f76f1c9", "type": "github" }, "original": { @@ -556,11 +552,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734956286, - "narHash": "sha256-8h7Fs6S+Ftg3NNmwT/KkYWI9epUNPCMPn56QFXOfmTM=", + "lastModified": 1735937973, + "narHash": "sha256-kUNsnN7AUMS7I/GOSRCdftM77zY4EOuEROlE7whBRPU=", "owner": "nix-community", "repo": "nixvim", - "rev": "8938e09db14d510dcc2f266e8b2e738ee527d386", + "rev": "4f4917be697e7ef39ebada3737e51cb42e0cbe79", "type": "github" }, "original": { @@ -579,11 +575,11 @@ ] }, "locked": { - "lastModified": 1733773348, - "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", + "lastModified": 1735854821, + "narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=", "owner": "NuschtOS", "repo": "search", - "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", + "rev": "836908e3bddd837ae0f13e215dd48767aee355f0", "type": "github" }, "original": { @@ -613,11 +609,11 @@ ] }, "locked": { - "lastModified": 1734546875, - "narHash": "sha256-6OvJbqQ6qPpNw3CA+W8Myo5aaLhIJY/nNFDk3zMXLfM=", + "lastModified": 1735844895, + "narHash": "sha256-CIRlqX9tBK2awJkmVu2cKuap/0QziDXStQZ/u/+e8Z4=", "owner": "mic92", "repo": "sops-nix", - "rev": "ed091321f4dd88afc28b5b4456e0a15bd8374b4d", + "rev": "24d89184adf76d7ccc99e659dc5f3838efb5ee32", "type": "github" }, "original": { @@ -645,11 +641,11 @@ "tinted-tmux": "tinted-tmux" }, "locked": { - "lastModified": 1734885904, - "narHash": "sha256-NxA4JnLuXyle2/nUKDbW8vORwSd+Z20limIl7DhlZbs=", + "lastModified": 1735933801, + "narHash": "sha256-SbkFaIYzfoasvu6GN5fdlaltrcEtUcoPsTRulWNkH7E=", "owner": "danth", "repo": "stylix", - "rev": "4d87b96ceca38532f39c1b7efd8a9235bfcee3d6", + "rev": "e0a41d3a2562ce1b43cad8560333673d04b111b8", "type": "github" }, "original": { @@ -746,11 +742,11 @@ ] }, "locked": { - "lastModified": 1734704479, - "narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=", + "lastModified": 1735905407, + "narHash": "sha256-1hKMRIT+QZNWX46e4gIovoQ7H8QRb7803ZH4qSKI45o=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f", + "rev": "29806abab803e498df96d82dd6f34b32eb8dd2c8", "type": "github" }, "original": { diff --git a/hosts/Lenni/default.nix b/hosts/Lenni/default.nix index 4e04e63..d184692 100644 --- a/hosts/Lenni/default.nix +++ b/hosts/Lenni/default.nix @@ -12,6 +12,8 @@ desktop = { enable = true; + dev.enable = true; + laser.enable = true; windowManager = "niri-session"; hyprland.enable = false; }; diff --git a/hosts/Lillie/default.nix b/hosts/Lillie/default.nix index 02a808c..448ea0f 100644 --- a/hosts/Lillie/default.nix +++ b/hosts/Lillie/default.nix @@ -12,6 +12,8 @@ desktop = { enable = true; autostart.enable = false; + emulation.enable = true; + laser.enable = true; hyprland = { hardware.Lillie = true; diff --git a/hosts/Puenktchen/default.nix b/hosts/Puenktchen/default.nix index caa0592..be6471e 100644 --- a/hosts/Puenktchen/default.nix +++ b/hosts/Puenktchen/default.nix @@ -10,6 +10,8 @@ desktop = { enable = true; + dev.enable = true; + emulation.enable = true; hyprlock.enable = false; hypridle.enable = false; diff --git a/modules/default/common/desktop/default.nix b/modules/default/common/desktop/default.nix index 02f4793..7b7d2a7 100644 --- a/modules/default/common/desktop/default.nix +++ b/modules/default/common/desktop/default.nix @@ -4,7 +4,8 @@ ./applications.nix ./autostart.nix ./boot.nix - ./emulation.nix + ./dev.nix + ./k40.nix ./keyboard.nix ./nfs-client.nix ./nix-ld.nix @@ -14,6 +15,7 @@ ./remoteBuilder.nix ./ssh-server.nix ./thunar.nix + ./udev.nix ]; diff --git a/modules/default/common/desktop/dev.nix b/modules/default/common/desktop/dev.nix new file mode 100644 index 0000000..3c5291d --- /dev/null +++ b/modules/default/common/desktop/dev.nix @@ -0,0 +1,8 @@ +{ lib, config, pkgs, ... }: +lib.mkIf config.desktop.dev.enable { + + environment.systemPackages = with pkgs; [ + jetbrains.rust-rover + jetbrains.pycharm-community-bin + ]; +} diff --git a/modules/default/common/desktop/games/default.nix b/modules/default/common/desktop/games/default.nix index 965fc7d..fad0a49 100644 --- a/modules/default/common/desktop/games/default.nix +++ b/modules/default/common/desktop/games/default.nix @@ -4,6 +4,7 @@ imports = [ ./ROG_Pugio_II_fixes.nix + ./emulation.nix ./mangohud.nix ./minecraft.nix ./moonlight.nix diff --git a/modules/default/common/desktop/emulation.nix b/modules/default/common/desktop/games/emulation.nix similarity index 71% rename from modules/default/common/desktop/emulation.nix rename to modules/default/common/desktop/games/emulation.nix index 8147364..aa9f9ac 100644 --- a/modules/default/common/desktop/emulation.nix +++ b/modules/default/common/desktop/games/emulation.nix @@ -1,9 +1,9 @@ { lib, config, pkgs, ... }: -lib.mkIf config.desktop.enable { +lib.mkIf config.desktop.emulation.enable { environment.systemPackages = with pkgs; [ melonDS dolphin-emu - lime3ds + #lime3ds cemu steam-rom-manager ]; diff --git a/modules/default/common/desktop/k40.nix b/modules/default/common/desktop/k40.nix new file mode 100644 index 0000000..86f23b6 --- /dev/null +++ b/modules/default/common/desktop/k40.nix @@ -0,0 +1,12 @@ +{ lib, config, pkgs, ... }: +lib.mkIf config.desktop.laser.enable { + + services.udev.extraRules = '' + SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="5512", MODE:="0666" + ''; + + environment.systemPackages = with pkgs; [ + k40-whisperer + ]; + +} diff --git a/modules/default/common/desktop/udev.nix b/modules/default/common/desktop/udev.nix new file mode 100644 index 0000000..52c14b8 --- /dev/null +++ b/modules/default/common/desktop/udev.nix @@ -0,0 +1,3 @@ +{ ... }: +{ +} diff --git a/modules/default/common/options.nix b/modules/default/common/options.nix index ec6c81b..a5d33a6 100644 --- a/modules/default/common/options.nix +++ b/modules/default/common/options.nix @@ -2,14 +2,32 @@ { options = { desktop = { + enable = lib.mkOption { default = false; type = lib.types.bool; }; + + emulation.enable = lib.mkOption { + default = false; + type = lib.types.bool; + }; + + dev.enable = lib.mkOption { + default = false; + type = lib.types.bool; + }; + + laser.enable = lib.mkOption { + default = false; + type = lib.types.bool; + }; + windowManager = lib.mkOption { default = "Hyprland"; type = lib.types.str; }; + }; server.enable = lib.mkOption { default = false;