diff options
Diffstat (limited to 'modules/virtualisation')
| -rw-r--r-- | modules/virtualisation/default.nix | 6 | ||||
| -rw-r--r-- | modules/virtualisation/docker.nix | 33 | ||||
| -rw-r--r-- | modules/virtualisation/libvirtd.nix | 26 |
3 files changed, 65 insertions, 0 deletions
diff --git a/modules/virtualisation/default.nix b/modules/virtualisation/default.nix new file mode 100644 index 0000000..765923f --- /dev/null +++ b/modules/virtualisation/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./docker.nix + ./libvirtd.nix + ]; +} diff --git a/modules/virtualisation/docker.nix b/modules/virtualisation/docker.nix new file mode 100644 index 0000000..20ce40a --- /dev/null +++ b/modules/virtualisation/docker.nix @@ -0,0 +1,33 @@ +{ pkgs, lib, ... }: +{ + virtualisation.docker = { + enable = true; + storageDriver = "btrfs"; + enableOnBoot = false; + liveRestore = true; + enableNvidia = lib.mkForce true; + extraOptions = "--iptables=False"; + + daemon.settings = { + default-runtime = "nvidia"; + # runtimes.nvidia.path = "${pkgs.nvidia-docker}/bin/nvidia-container-runtime"; + experimental = true; + }; + + autoPrune = { + enable = false; + dates = "daily"; + }; + + rootless = { + enable = false; + setSocketVariable = true; + + daemon.settings = { + default-runtime = "nvidia"; + runtimes.nvidia.path = "${pkgs.nvidia-docker}/bin/nvidia-container-runtime"; + experimental = true; + }; + }; + }; +} diff --git a/modules/virtualisation/libvirtd.nix b/modules/virtualisation/libvirtd.nix new file mode 100644 index 0000000..4618c46 --- /dev/null +++ b/modules/virtualisation/libvirtd.nix @@ -0,0 +1,26 @@ +{ pkgs, ... }: +{ + boot.extraModprobeConfig = "options kvm_intel nested=1"; + environment.systemPackages = [ pkgs.virt-manager ]; + + virtualisation.libvirtd = { + enable = true; + + qemu = { + package = pkgs.qemu_kvm; + runAsRoot = true; + swtpm.enable = true; + + ovmf = { + enable = true; + + packages = [ + (pkgs.OVMF.override { + secureBoot = true; + tpmSupport = true; + }).fd + ]; + }; + }; + }; +} |