summaryrefslogtreecommitdiff
path: root/modules/nixos/traits/containers.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos/traits/containers.nix')
-rw-r--r--modules/nixos/traits/containers.nix32
1 files changed, 13 insertions, 19 deletions
diff --git a/modules/nixos/traits/containers.nix b/modules/nixos/traits/containers.nix
index 10824eb..5170c34 100644
--- a/modules/nixos/traits/containers.nix
+++ b/modules/nixos/traits/containers.nix
@@ -6,35 +6,29 @@
...
}: let
cfg = config.traits.containers;
+ enableNvidia = lib.elem "nvidia" (config.services.xserver.videoDrivers or []);
in {
options.traits.containers = {
enable = lib.mkEnableOption "containers support";
};
- config.virtualisation = lib.mkIf cfg.enable (
+ config = lib.mkIf cfg.enable (
lib.mkMerge [
{
- podman = {
- enable = true;
- extraPackages = with pkgs; [podman-compose];
- autoPrune.enable = true;
- };
+ virtualisation = {
+ podman = {
+ enable = true;
+ extraPackages = with pkgs; [podman-compose];
+ autoPrune.enable = true;
+ };
- oci-containers.backend = "podman";
+ oci-containers.backend = "podman";
+ };
}
- (let
- enable = lib.mkDefault (
- lib.elem "nvidia" (config.services.xserver.videoDrivers or [])
- );
- in
- if (options.virtualisation.containers ? cdi)
- then {
- containers.cdi.dynamic.nvidia = {inherit enable;};
- }
- else {
- podman.enableNvidia = enable;
- })
+ (lib.mkIf enableNvidia {
+ hardware.nvidia-container-toolkit.enable = true;
+ })
]
);
}