nix-config-v2/modules/virtualization/podman.nix

40 lines
884 B
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
}: let
cfg = config.containers;
in {
options.containers = {
podman = {
enable = lib.mkEnableOption "Podman container runtime";
dockerCompat = lib.mkEnableOption "Enable Docker compatibility";
extraPackages = lib.mkOption {
type = lib.types.listOf lib.types.package;
default = [];
description = "Additional packages to install when Podman is enabled";
};
};
};
config = lib.mkIf cfg.podman.enable {
virtualisation.podman = {
enable = true;
dockerCompat = cfg.podman.dockerCompat;
enableOnBoot = true;
defaultNetwork.settings.dns_enabled = true;
};
environment.systemPackages =
[
pkgs.podman-compose
pkgs.buildah
pkgs.skopeo
pkgs.dive
pkgs.container-diff
]
++ cfg.podman.extraPackages;
2024-12-12 19:41:58 -06:00
};
}