29 lines
721 B
Nix
29 lines
721 B
Nix
{ config, lib, pkgs, ... }: {
|
|
|
|
options.sysconfig.virtual-machines.enable = with lib; mkOption {
|
|
type = with types; bool;
|
|
default = false;
|
|
};
|
|
|
|
imports = let
|
|
dir = builtins.readDir ./.;
|
|
in builtins.map (x: ./${x}) (builtins.filter
|
|
(file: (dir.${file} == "directory"))
|
|
(builtins.attrNames dir)
|
|
);
|
|
|
|
config = lib.mkIf config.sysconfig.virtual-machines.enable {
|
|
programs.virt-manager.enable = true;
|
|
|
|
virtualisation = {
|
|
libvirtd.enable = true;
|
|
|
|
spiceUSBRedirection.enable = true;
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; lib.mkIf config.sysconfig.graphical [
|
|
virt-viewer
|
|
];
|
|
};
|
|
}
|