mirror of
https://github.com/Stunkymonkey/nixos.git
synced 2025-05-24 09:54:40 +02:00
system/virtualization: init from legacy
This commit is contained in:
parent
133340bbe1
commit
97afc505cb
5 changed files with 45 additions and 14 deletions
|
@ -1,13 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
boot.kernelModules = [
|
|
||||||
"kvm-amd"
|
|
||||||
"kvm-intel"
|
|
||||||
];
|
|
||||||
virtualisation.libvirtd.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
virtmanager
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -14,7 +14,6 @@
|
||||||
../../legacy/modules/gaming.nix
|
../../legacy/modules/gaming.nix
|
||||||
../../legacy/modules/hardware-base.nix
|
../../legacy/modules/hardware-base.nix
|
||||||
../../legacy/modules/intel-video.nix
|
../../legacy/modules/intel-video.nix
|
||||||
../../legacy/modules/kvm.nix
|
|
||||||
../../legacy/modules/location.nix
|
../../legacy/modules/location.nix
|
||||||
../../legacy/modules/media.nix
|
../../legacy/modules/media.nix
|
||||||
../../legacy/modules/meeting.nix
|
../../legacy/modules/meeting.nix
|
||||||
|
|
|
@ -7,5 +7,9 @@ in
|
||||||
my.system = {
|
my.system = {
|
||||||
avahi.enable = true;
|
avahi.enable = true;
|
||||||
podman.enable = true;
|
podman.enable = true;
|
||||||
|
virtualization = {
|
||||||
|
enable = true;
|
||||||
|
cpuFlavor = "intel";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
./avahi
|
./avahi
|
||||||
./docker
|
./docker
|
||||||
./podman
|
./podman
|
||||||
|
./virtualization
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
40
modules/system/virtualization/default.nix
Normal file
40
modules/system/virtualization/default.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.my.system.virtualization;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.my.system.virtualization = with lib; {
|
||||||
|
enable = mkEnableOption "virtualization configuration";
|
||||||
|
|
||||||
|
cpuFlavor = mkOption {
|
||||||
|
type = with types; nullOr (enum [ "intel" "amd" ]);
|
||||||
|
default = null;
|
||||||
|
example = "intel";
|
||||||
|
description = "Which kind of CPU to activate kernelModules";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||||
|
{
|
||||||
|
virtualisation.libvirtd.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
virtmanager
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
# Intel CPU
|
||||||
|
(lib.mkIf (cfg.cpuFlavor == "intel") {
|
||||||
|
boot.kernelModules = [
|
||||||
|
"kvm-intel"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
|
# AMD CPU
|
||||||
|
(lib.mkIf (cfg.cpuFlavor == "amd") {
|
||||||
|
boot.kernelModules = [
|
||||||
|
"kvm-amd"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
]);
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue