From 328c741b1aac74020412e99e0dca7c728dbc92fa Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 23 Jun 2025 22:33:44 -0400 Subject: refactor --- modules/virt/default.nix | 19 +++++++++++++++++++ modules/virt/docker.nix | 15 +++++++++++++++ modules/virt/qemu.nix | 20 ++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 modules/virt/default.nix create mode 100644 modules/virt/docker.nix create mode 100644 modules/virt/qemu.nix (limited to 'modules/virt') diff --git a/modules/virt/default.nix b/modules/virt/default.nix new file mode 100644 index 0000000..c5d3960 --- /dev/null +++ b/modules/virt/default.nix @@ -0,0 +1,19 @@ +{ + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkEnableOption; + cfg = config.virt; +in { + imports = [ + ./docker.nix + ./qemu.nix + ]; + + options.virt = { + docker = mkEnableOption "Install docker and its components."; + qemu = mkEnableOption "Install qemu and its components."; + }; +} diff --git a/modules/virt/docker.nix b/modules/virt/docker.nix new file mode 100644 index 0000000..5930858 --- /dev/null +++ b/modules/virt/docker.nix @@ -0,0 +1,15 @@ +{ + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkIf; + cfg = config.virt; +in { + config = mkIf cfg.docker { + virtualisation.docker.enable = true; + virtualisation.docker.storageDriver = "btrfs"; + users.groups.docker.members = [config.user]; + }; +} diff --git a/modules/virt/qemu.nix b/modules/virt/qemu.nix new file mode 100644 index 0000000..f5d9d24 --- /dev/null +++ b/modules/virt/qemu.nix @@ -0,0 +1,20 @@ +{ + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkIf; + cfg = config.virt; +in { + config = mkIf cfg.qemu { + programs.virt-manager.enable = true; + users.groups.libvirtd.members = [config.user]; + virtualisation.libvirtd.enable = true; + virtualisation.spiceUSBRedirection.enable = true; + + environment.systemPackages = with pkgs; [ + qemu + ]; + }; +} -- cgit v1.2.3-freya