diff --git a/flake.lock b/flake.lock index 262c57f..4e719b2 100644 --- a/flake.lock +++ b/flake.lock @@ -30,11 +30,11 @@ ] }, "locked": { - "lastModified": 1722113426, - "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", "owner": "numtide", "repo": "devshell", - "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", "type": "github" }, "original": { @@ -192,11 +192,11 @@ ] }, "locked": { - "lastModified": 1728041527, - "narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=", + "lastModified": 1728598744, + "narHash": "sha256-sSfvyO5xH3HObHHmh6lp/hcvo7tMjFKd/HXpxyrRnoE=", "owner": "nix-community", "repo": "home-manager", - "rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e", + "rev": "342a1d682386d3a1d74f9555cb327f2f311dda6e", "type": "github" }, "original": { @@ -213,11 +213,11 @@ ] }, "locked": { - "lastModified": 1728041527, - "narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=", + "lastModified": 1728337164, + "narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=", "owner": "nix-community", "repo": "home-manager", - "rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e", + "rev": "038630363e7de57c36c417fd2f5d7c14773403e4", "type": "github" }, "original": { @@ -254,11 +254,11 @@ ] }, "locked": { - "lastModified": 1727999297, - "narHash": "sha256-LTJuQPCsSItZ/8TieFeP30iY+uaLoD0mT0tAj1gLeyQ=", + "lastModified": 1728385805, + "narHash": "sha256-mUd38b0vhB7yzgAjNOaFz7VY9xIVzlbn3P2wjGBcVV0=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "8c8388ade72e58efdeae71b4cbb79e872c23a56b", + "rev": "48b50b3b137be5cfb9f4d006835ce7c3fe558ccc", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1728184451, - "narHash": "sha256-XuvfrJ3TkHfGKRdiWPN/RD+veVtGl0Db+R44fb5gdT8=", + "lastModified": 1728616391, + "narHash": "sha256-xFQpxbBYaPktRuM9XBEJfWKGbq8odEikZP77+d/0o44=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "631b0cbf1466553533a87e4b8e77c00731eba21f", + "rev": "c0fe031a0bb89e6641f9ab3fb0d413babe4845d4", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1728067476, - "narHash": "sha256-/uJcVXuBt+VFCPQIX+4YnYrHaubJSx4HoNsJVNRgANM=", + "lastModified": 1728500571, + "narHash": "sha256-dOymOQ3AfNI4Z337yEwHGohrVQb4yPODCW9MDUyAc4w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6e6b3dd395c3b1eb9be9f2d096383a8d05add030", + "rev": "d51c28603def282a24fa034bcb007e2bcb5b5dd0", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1728018373, - "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", + "lastModified": 1728492678, + "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bc947f541ae55e999ffdb4013441347d83b00feb", + "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7", "type": "github" }, "original": { @@ -353,11 +353,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1728176751, - "narHash": "sha256-hVmdzrZMFC/5q3dSjbKX9qocWN9coPBhs8muLsL3738=", + "lastModified": 1728593423, + "narHash": "sha256-xM3+7mvWwM5i+RXD97wQ/fSoQDFidVxNszIfKIv9msE=", "owner": "nix-community", "repo": "nixvim", - "rev": "d42c804ad515f45f8addaf5a4bb0b8ce405ea140", + "rev": "af650ba9401501352d6eaaced192bbb4abfaec87", "type": "github" }, "original": { @@ -368,11 +368,11 @@ }, "nur": { "locked": { - "lastModified": 1728226241, - "narHash": "sha256-TkY1yXx/gydHjjPbsSZ+xgQSbYASJ/RtcGKPBKuDOyk=", + "lastModified": 1728635778, + "narHash": "sha256-P0lNNBexaUCpGnJ+xfZ+A4HRudT+BvMz54t6MkcnNq0=", "owner": "nix-community", "repo": "NUR", - "rev": "9cb9697940500fd10bc27bb68c7259b4cf0b32de", + "rev": "abf82f0f0338c25322e0653c2b7e09814da7b2f7", "type": "github" }, "original": { @@ -390,11 +390,11 @@ ] }, "locked": { - "lastModified": 1728017046, - "narHash": "sha256-ofWYux/uUAv8wq7sWw8XWke0sh8p4qYxSOn8d+EaJ8c=", + "lastModified": 1728513479, + "narHash": "sha256-yAR9M1jvuAoahYNxo3RNnPMcua1TAIPurFKmH2/g3lg=", "owner": "NuschtOS", "repo": "search", - "rev": "ba81d9c1eae20fc3a1cd066062a05ac2e799e629", + "rev": "5cb7ef512ec20a5b7d60fc70dba014560559698a", "type": "github" }, "original": { @@ -422,11 +422,11 @@ ] }, "locked": { - "lastModified": 1728095260, - "narHash": "sha256-X62hA5ivYLY5G5+mXI6l9eUDkgi6Wu/7QUrwXhJ09oo=", + "lastModified": 1728527353, + "narHash": "sha256-GY755PX8CbGH3O9iKqauhkFTdP9WSKcOfOkZBe3SOqw=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "d1d2532ab267cfe6e40dff73fbaf34436c406d26", + "rev": "94749eee5a2b351b6893d5bddb0a18f7f01251ac", "type": "github" }, "original": { diff --git a/hosts/MONSTER/default.nix b/hosts/MONSTER/default.nix index c2b6865..eed9363 100644 --- a/hosts/MONSTER/default.nix +++ b/hosts/MONSTER/default.nix @@ -42,6 +42,7 @@ svelte.enable = true; docker.enable = true; }; + windows-vm.enable = true; }; shell.components = { diff --git a/modules/home-manager/programs/nixvim/presets/languages/js.nix b/modules/home-manager/programs/nixvim/presets/languages/js.nix index c7dbaac..c824c15 100644 --- a/modules/home-manager/programs/nixvim/presets/languages/js.nix +++ b/modules/home-manager/programs/nixvim/presets/languages/js.nix @@ -42,7 +42,7 @@ in } ]; lsp.servers = { - ts-ls.enable = true; + ts_ls.enable = true; eslint.enable = lib.mkIf cfg.eslint true; }; }; diff --git a/modules/home-manager/programs/nixvim/presets/languages/lua.nix b/modules/home-manager/programs/nixvim/presets/languages/lua.nix index c6c3c62..cdcaa9d 100644 --- a/modules/home-manager/programs/nixvim/presets/languages/lua.nix +++ b/modules/home-manager/programs/nixvim/presets/languages/lua.nix @@ -15,7 +15,7 @@ in config = lib.mkIf cfg.enable { plugins = { conform-nvim.settings.formatters_by_ft.lua = [ "stylua" ]; - lsp.servers.lua-ls.enable = true; + lsp.servers.lua_ls.enable = true; }; extraPackages = [ pkgs.stylua ]; }; diff --git a/modules/home-manager/programs/nixvim/presets/languages/nix.nix b/modules/home-manager/programs/nixvim/presets/languages/nix.nix index 8712d95..5122ee5 100644 --- a/modules/home-manager/programs/nixvim/presets/languages/nix.nix +++ b/modules/home-manager/programs/nixvim/presets/languages/nix.nix @@ -15,7 +15,7 @@ in config = lib.mkIf cfg.enable { plugins = { conform-nvim.settings.formatters_by_ft.nix = [ "nixfmt" ]; - lsp.servers.nil-ls.enable = true; + lsp.servers.nil_ls.enable = true; nix.enable = true; }; extraPackages = [ pkgs.nixfmt-rfc-style ]; diff --git a/modules/home-manager/programs/nixvim/presets/languages/rust.nix b/modules/home-manager/programs/nixvim/presets/languages/rust.nix index db97a8b..81063ee 100644 --- a/modules/home-manager/programs/nixvim/presets/languages/rust.nix +++ b/modules/home-manager/programs/nixvim/presets/languages/rust.nix @@ -10,7 +10,7 @@ in config = lib.mkIf cfg.enable { plugins = { conform-nvim.settings.formattters_by_ft.rust = [ "rustfmt" ]; - lsp.servers.rust-analyzer = { + lsp.servers.rust_analyzer = { enable = true; installCargo = false; installRustc = false; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 183888e..45d141c 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -26,6 +26,7 @@ ./usecases/gaming.nix ./usecases/3d-printing.nix ./usecases/development.nix + ./usecases/windows-vm.nix ./services/airprint.nix diff --git a/modules/nixos/usecases/development/angular.nix b/modules/nixos/usecases/development/angular.nix index b1e0ecc..f527431 100644 --- a/modules/nixos/usecases/development/angular.nix +++ b/modules/nixos/usecases/development/angular.nix @@ -10,5 +10,10 @@ in enable = mkEnableOption "Enable Angular develompent"; }; - config = mkIf cfg.enable { networking.firewall.allowedTCPPorts = [ 8100 ]; }; + config = mkIf cfg.enable { + networking.firewall.allowedTCPPorts = [ + 3000 + 8100 + ]; + }; } diff --git a/modules/nixos/usecases/gaming.nix b/modules/nixos/usecases/gaming.nix index 75a0097..f2b3013 100644 --- a/modules/nixos/usecases/gaming.nix +++ b/modules/nixos/usecases/gaming.nix @@ -39,7 +39,7 @@ in ]; }) rpcs3 - wine + wine64 winetricks protontricks mangohud diff --git a/modules/nixos/usecases/windows-vm.nix b/modules/nixos/usecases/windows-vm.nix new file mode 100644 index 0000000..42e9420 --- /dev/null +++ b/modules/nixos/usecases/windows-vm.nix @@ -0,0 +1,48 @@ +{ + config, + lib, + pkgs, + username, + ... +}: + +with lib; + +let + cfg = config.usecases.windows-vm; +in +{ + options.usecases.windows-vm = { + enable = mkEnableOption "Enable Windows VM things"; + }; + + config = mkIf cfg.enable { + programs.dconf.enable = true; + + users.users.${username}.extraGroups = [ "libvirtd" ]; + + environment.systemPackages = with pkgs; [ + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + adwaita-icon-theme + ]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + }; +}