From 9c0bf5fabf41fa941b6712aff83e2a0d95100a5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20SALVI?= Date: Wed, 29 Oct 2025 21:27:18 +0100 Subject: [PATCH] add libvirt and virt manager --- modules/core/users.nix | 1 - modules/optionnals/desktop/virt-manager.nix | 7 +++++++ modules/optionnals/hosts/work-nix.nix | 7 ++++++- modules/optionnals/libvirt.nix | 21 +++++++++++++++++++++ 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 modules/optionnals/desktop/virt-manager.nix create mode 100644 modules/optionnals/libvirt.nix diff --git a/modules/core/users.nix b/modules/core/users.nix index 8179a9c..afc302e 100644 --- a/modules/core/users.nix +++ b/modules/core/users.nix @@ -14,7 +14,6 @@ description = "Admin account"; extraGroups = [ "wheel" - "networkmanager" "audio" "video" ]; diff --git a/modules/optionnals/desktop/virt-manager.nix b/modules/optionnals/desktop/virt-manager.nix new file mode 100644 index 0000000..790c3d6 --- /dev/null +++ b/modules/optionnals/desktop/virt-manager.nix @@ -0,0 +1,7 @@ +{ + ... +}: +{ + programs.virt-manager.enable = true; + virtualisation.spiceUSBRedirection.enable = true; +} \ No newline at end of file diff --git a/modules/optionnals/hosts/work-nix.nix b/modules/optionnals/hosts/work-nix.nix index ac3bbd2..b6bd15b 100644 --- a/modules/optionnals/hosts/work-nix.nix +++ b/modules/optionnals/hosts/work-nix.nix @@ -1,11 +1,12 @@ { - pkgs, + username, ... }: { imports = [ ../autologin.nix ../k8s.nix + ../libvirt.nix ../openfortivpn.nix ../packages.nix ../sops-desktop.nix @@ -22,6 +23,7 @@ ../desktop/qwerty-fr.nix ../desktop/rofi.nix ../desktop/starship.nix + ../desktop/virt-manager.nix ../desktop/wayland.nix ### Import Graphics modules @@ -33,6 +35,9 @@ extraHosts = '' carto-interavtive 172.18.20.134 ''; + }; + users.users.${username} = { + extraGroups = [ "networkmanager" ]; }; programs.nm-applet.enable = true; } diff --git a/modules/optionnals/libvirt.nix b/modules/optionnals/libvirt.nix new file mode 100644 index 0000000..8f0835f --- /dev/null +++ b/modules/optionnals/libvirt.nix @@ -0,0 +1,21 @@ +{ + pkgs, + username, + ... +}: +{ + virtualisation = { + libvirtd = { + enable = true; + qemu = { + package = pkgs.qemu_full; + runAsRoot = true; + swtpm.enable = true; + }; + }; + + }; + users.users.${username} = { + extraGroups = [ "libvirtd" ]; + }; +}