This commit is contained in:
2024-11-01 15:59:32 +01:00
parent 3ca6f9fa70
commit 2ce5fb4d43
10 changed files with 94 additions and 39 deletions

66
flake.lock generated
View File

@@ -30,11 +30,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722113426, "lastModified": 1728330715,
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -192,11 +192,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1728041527, "lastModified": 1728598744,
"narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=", "narHash": "sha256-sSfvyO5xH3HObHHmh6lp/hcvo7tMjFKd/HXpxyrRnoE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e", "rev": "342a1d682386d3a1d74f9555cb327f2f311dda6e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -213,11 +213,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1728041527, "lastModified": 1728337164,
"narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=", "narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e", "rev": "038630363e7de57c36c417fd2f5d7c14773403e4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -254,11 +254,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727999297, "lastModified": 1728385805,
"narHash": "sha256-LTJuQPCsSItZ/8TieFeP30iY+uaLoD0mT0tAj1gLeyQ=", "narHash": "sha256-mUd38b0vhB7yzgAjNOaFz7VY9xIVzlbn3P2wjGBcVV0=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "8c8388ade72e58efdeae71b4cbb79e872c23a56b", "rev": "48b50b3b137be5cfb9f4d006835ce7c3fe558ccc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -277,11 +277,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1728184451, "lastModified": 1728616391,
"narHash": "sha256-XuvfrJ3TkHfGKRdiWPN/RD+veVtGl0Db+R44fb5gdT8=", "narHash": "sha256-xFQpxbBYaPktRuM9XBEJfWKGbq8odEikZP77+d/0o44=",
"owner": "lilyinstarlight", "owner": "lilyinstarlight",
"repo": "nixos-cosmic", "repo": "nixos-cosmic",
"rev": "631b0cbf1466553533a87e4b8e77c00731eba21f", "rev": "c0fe031a0bb89e6641f9ab3fb0d413babe4845d4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -308,11 +308,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1728067476, "lastModified": 1728500571,
"narHash": "sha256-/uJcVXuBt+VFCPQIX+4YnYrHaubJSx4HoNsJVNRgANM=", "narHash": "sha256-dOymOQ3AfNI4Z337yEwHGohrVQb4yPODCW9MDUyAc4w=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6e6b3dd395c3b1eb9be9f2d096383a8d05add030", "rev": "d51c28603def282a24fa034bcb007e2bcb5b5dd0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -324,11 +324,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1728018373, "lastModified": 1728492678,
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bc947f541ae55e999ffdb4013441347d83b00feb", "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -353,11 +353,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1728176751, "lastModified": 1728593423,
"narHash": "sha256-hVmdzrZMFC/5q3dSjbKX9qocWN9coPBhs8muLsL3738=", "narHash": "sha256-xM3+7mvWwM5i+RXD97wQ/fSoQDFidVxNszIfKIv9msE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "d42c804ad515f45f8addaf5a4bb0b8ce405ea140", "rev": "af650ba9401501352d6eaaced192bbb4abfaec87",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -368,11 +368,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1728226241, "lastModified": 1728635778,
"narHash": "sha256-TkY1yXx/gydHjjPbsSZ+xgQSbYASJ/RtcGKPBKuDOyk=", "narHash": "sha256-P0lNNBexaUCpGnJ+xfZ+A4HRudT+BvMz54t6MkcnNq0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "9cb9697940500fd10bc27bb68c7259b4cf0b32de", "rev": "abf82f0f0338c25322e0653c2b7e09814da7b2f7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -390,11 +390,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1728017046, "lastModified": 1728513479,
"narHash": "sha256-ofWYux/uUAv8wq7sWw8XWke0sh8p4qYxSOn8d+EaJ8c=", "narHash": "sha256-yAR9M1jvuAoahYNxo3RNnPMcua1TAIPurFKmH2/g3lg=",
"owner": "NuschtOS", "owner": "NuschtOS",
"repo": "search", "repo": "search",
"rev": "ba81d9c1eae20fc3a1cd066062a05ac2e799e629", "rev": "5cb7ef512ec20a5b7d60fc70dba014560559698a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -422,11 +422,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1728095260, "lastModified": 1728527353,
"narHash": "sha256-X62hA5ivYLY5G5+mXI6l9eUDkgi6Wu/7QUrwXhJ09oo=", "narHash": "sha256-GY755PX8CbGH3O9iKqauhkFTdP9WSKcOfOkZBe3SOqw=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "d1d2532ab267cfe6e40dff73fbaf34436c406d26", "rev": "94749eee5a2b351b6893d5bddb0a18f7f01251ac",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -42,6 +42,7 @@
svelte.enable = true; svelte.enable = true;
docker.enable = true; docker.enable = true;
}; };
windows-vm.enable = true;
}; };
shell.components = { shell.components = {

View File

@@ -42,7 +42,7 @@ in
} }
]; ];
lsp.servers = { lsp.servers = {
ts-ls.enable = true; ts_ls.enable = true;
eslint.enable = lib.mkIf cfg.eslint true; eslint.enable = lib.mkIf cfg.eslint true;
}; };
}; };

View File

@@ -15,7 +15,7 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
plugins = { plugins = {
conform-nvim.settings.formatters_by_ft.lua = [ "stylua" ]; conform-nvim.settings.formatters_by_ft.lua = [ "stylua" ];
lsp.servers.lua-ls.enable = true; lsp.servers.lua_ls.enable = true;
}; };
extraPackages = [ pkgs.stylua ]; extraPackages = [ pkgs.stylua ];
}; };

View File

@@ -15,7 +15,7 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
plugins = { plugins = {
conform-nvim.settings.formatters_by_ft.nix = [ "nixfmt" ]; conform-nvim.settings.formatters_by_ft.nix = [ "nixfmt" ];
lsp.servers.nil-ls.enable = true; lsp.servers.nil_ls.enable = true;
nix.enable = true; nix.enable = true;
}; };
extraPackages = [ pkgs.nixfmt-rfc-style ]; extraPackages = [ pkgs.nixfmt-rfc-style ];

View File

@@ -10,7 +10,7 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
plugins = { plugins = {
conform-nvim.settings.formattters_by_ft.rust = [ "rustfmt" ]; conform-nvim.settings.formattters_by_ft.rust = [ "rustfmt" ];
lsp.servers.rust-analyzer = { lsp.servers.rust_analyzer = {
enable = true; enable = true;
installCargo = false; installCargo = false;
installRustc = false; installRustc = false;

View File

@@ -26,6 +26,7 @@
./usecases/gaming.nix ./usecases/gaming.nix
./usecases/3d-printing.nix ./usecases/3d-printing.nix
./usecases/development.nix ./usecases/development.nix
./usecases/windows-vm.nix
./services/airprint.nix ./services/airprint.nix

View File

@@ -10,5 +10,10 @@ in
enable = mkEnableOption "Enable Angular develompent"; enable = mkEnableOption "Enable Angular develompent";
}; };
config = mkIf cfg.enable { networking.firewall.allowedTCPPorts = [ 8100 ]; }; config = mkIf cfg.enable {
networking.firewall.allowedTCPPorts = [
3000
8100
];
};
} }

View File

@@ -39,7 +39,7 @@ in
]; ];
}) })
rpcs3 rpcs3
wine wine64
winetricks winetricks
protontricks protontricks
mangohud mangohud

View File

@@ -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;
};
}