virtualisation.nix
1 { 2 pkgs, 3 ... 4 }: 5 { 6 virtualisation = { 7 lxc.enable = false; 8 # useEFIBoot = false; 9 # tpmr.enable = false; 10 # useSecureBoot = false; 11 # useDefaultFileSystems = true; 12 spiceUSBRedirection.enable = true; 13 14 libvirtd = { 15 enable = true; 16 onBoot = "ignore"; 17 18 nss = { 19 enable = true; 20 enableGuest = true; 21 }; 22 23 qemu = { 24 swtpm.enable = true; 25 vhostUserPackages = with pkgs; [ 26 virtiofsd 27 ]; 28 }; 29 }; 30 31 oci-containers = { 32 backend = "docker"; 33 34 containers = { 35 # excalidraw = { 36 # pull = "missing"; # "always" | "missing" | "never" | "newer" 37 # autoStart = false; 38 # hostname = "excalidraw"; 39 # workdir = "/var/lib/excalidraw"; 40 # image = "excalidraw/excalidraw:latest"; 41 42 # # cmd = [ ]; 43 # ports = [ 44 # "5000:80" 45 # ]; 46 # }; 47 }; 48 }; 49 50 # only enable either docker or podman -- Not both 51 docker = { 52 enable = true; 53 54 autoPrune = { 55 enable = true; 56 persistent = true; 57 flags = [ 58 "--all" 59 ]; 60 }; 61 }; 62 63 podman = { 64 enable = false; 65 dockerCompat = true; 66 dockerSocket.enable = true; 67 }; 68 }; 69 }