config/roles/podman.nix

32 lines
829 B
Nix

{
name = "Podman";
description = ''
Provide support for running docker containers on the system
'';
nixosModule =
{ lib, config, ... }:
{
options.podman = {
containers = lib.mkOption {
type = lib.types.attrs;
};
};
config =
let
cfg = config.podman;
in
{
virtualisation.containers.enable = true;
virtualisation.podman.enable = true;
virtualisation.podman.defaultNetwork.settings.dns_enabled = true;
virtualisation.oci-containers.backend = "podman";
# TODO: Maybe we want to pre-fetch the images during build?
# This would ensure the config always reproduces the exact same system
virtualisation.oci-containers.containers = cfg.containers;
};
};
}