mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-05-15 07:59:47 +02:00
44 lines
977 B
Nix
44 lines
977 B
Nix
{
|
|
lib,
|
|
config,
|
|
namespace,
|
|
puzzlelib,
|
|
...
|
|
}: let
|
|
inherit (lib) mkIf mkMerge;
|
|
inherit (puzzlelib) mkOpt mkBool;
|
|
|
|
cfg = config.${namespace}.utils.vm;
|
|
in {
|
|
options.${namespace}.utils.vm = {
|
|
enable = mkBool true "Whether to enable custom vm presets";
|
|
preset = mkOpt lib.types.str "performance" "Specify the prefered vm settings preset: performance, balance or powersave";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
virtualisation.vmVariant = mkMerge [
|
|
(mkIf cfg.preset
|
|
== "performance" {
|
|
virtualisation = {
|
|
cores = 6;
|
|
memorySize = 4096;
|
|
graphics = true;
|
|
};
|
|
})
|
|
(mkIf cfg.preset
|
|
== "balance" {
|
|
virtualisation = {
|
|
cores = 4;
|
|
memorySize = 2048;
|
|
};
|
|
})
|
|
(mkIf cfg.preset
|
|
== "powersave" {
|
|
virtualisation = {
|
|
cores = 2;
|
|
memorySize = 1024;
|
|
};
|
|
})
|
|
];
|
|
};
|
|
}
|