Compare commits

...

2 Commits

Author SHA1 Message Date
Joshua Yuen 0dc7671926
Add Tailscale configuration 2026-06-29 19:06:30 -04:00
Joshua Yuen d3d3edd664
Add GNOME Boxes configuration 2026-06-29 18:41:08 -04:00
8 changed files with 89 additions and 0 deletions

View File

@ -14,4 +14,6 @@
]; ];
modules.gpg.signingKey = "0x530DA0331EFE99F5"; modules.gpg.signingKey = "0x530DA0331EFE99F5";
modules.gnomeBoxes.enable = true;
} }

View File

@ -7,6 +7,7 @@
./firefox.nix ./firefox.nix
./fonts.nix ./fonts.nix
./gdm.nix ./gdm.nix
./gnomeBoxes.nix
./hyprland.nix ./hyprland.nix
./localsend.nix ./localsend.nix
./network.nix ./network.nix
@ -17,6 +18,7 @@
./services.nix ./services.nix
./stylix.nix ./stylix.nix
./system.nix ./system.nix
./tailscale.nix
./user.nix ./user.nix
./zsh.nix ./zsh.nix
]; ];

View File

@ -0,0 +1,41 @@
{
config,
lib,
pkgs,
username,
...
}:
with lib;
let
cfg = config.modules.gnomeBoxes;
in
{
config = mkIf cfg.enable {
virtualisation = {
libvirtd = {
enable = true;
# Enable TPM emulation (for Windows 11)
qemu = {
package = pkgs.qemu_kvm;
swtpm.enable = true;
};
};
# Enable USD redirection
spiceUSBRedirection.enable = true;
};
# Allow VM management
users.groups.libvirtd.members = [ username ];
users.groups.kvm.members = [ username ];
# Enable VM networking and file sharing
environment.systemPackages = with pkgs; [
gnome-boxes
swtpm
dnsmasq
phodav
];
};
}

View File

@ -0,0 +1,14 @@
{
config,
lib,
...
}:
with lib;
let
cfg = config.modules.tailscale;
in
{
config = mkIf cfg.enable {
services.tailscale.enable = true;
};
}

View File

@ -5,6 +5,7 @@
imports = [ imports = [
./discord.nix ./discord.nix
./displayManager.nix ./displayManager.nix
./gnomeBoxes.nix
./gpg.nix ./gpg.nix
./hyprland.nix ./hyprland.nix
./localsend.nix ./localsend.nix
@ -12,6 +13,7 @@
./plasma.nix ./plasma.nix
./shell.nix ./shell.nix
./system.nix ./system.nix
./tailscale.nix
./zsh.nix ./zsh.nix
]; ];
} }

View File

@ -0,0 +1,13 @@
{
lib,
...
}:
with lib;
{
options.modules.gnomeBoxes = {
enable = mkEnableOption {
default = false;
description = "Enable GNOME Boxes";
};
};
}

View File

@ -0,0 +1,13 @@
{
lib,
...
}:
with lib;
{
options.modules.tailscale = {
enable = mkEnableOption {
default = false;
description = "Enable Tailscale";
};
};
}

View File

@ -25,4 +25,6 @@
modules.pipewire.enable = true; modules.pipewire.enable = true;
modules.discord.enable = true; modules.discord.enable = true;
modules.tailscale.enable = true;
} }