universe/modules/global/virtualisation.nix

23 lines
573 B
Nix

{ config, lib, pkgs, ... }:
with lib;
with lib.our;
let
cfg = config.virtualisation;
in
{
options.virtualisation = {
enable = mkBoolOpt false;
};
config = {
virtualisation = {
libvirtd.enable = mkDefault cfg.enable;
docker.enable = mkDefault cfg.enable;
};
programs.dconf.enable = mkIf cfg.libvirtd.enable true;
environment.systemPackages = (optional cfg.libvirtd.enable pkgs.virt-manager)
++ (optional cfg.docker.enable pkgs.docker-compose);
persist.directories = optional cfg.libvirtd.enable "/var/lib/libvirt";
};
}