nix/modules/virtualisation/podman.nix

49 lines
1.2 KiB
Nix

{
lib,
config,
pkgs,
...
}:
let
cfg = config.my.virtualisation.podman;
in
{
options.my.virtualisation.podman = {
enable = lib.mkEnableOption "Enable Podman module";
};
config = lib.mkIf cfg.enable {
# Enable common container config files in /etc/containers
virtualisation.containers.enable = true;
virtualisation = {
podman = {
enable = true;
# Create a `docker` alias for podman, to use it as a drop-in replacement
dockerCompat = true;
# Required for containers under podman-compose to be able to talk to each other.
defaultNetwork.settings.dns_enabled = true;
};
};
# Useful other development tools
environment.systemPackages = with pkgs; [
dive # look into docker image layers
podman-tui # status of containers in the terminal
docker-compose # start group of containers for dev
podman-compose # start group of containers for dev
];
# Depending on the host filesystem
# virtualisation.containers.storage.settings = {
# storage = {
# driver = "zfs";
# graphroot = "/var/lib/containers/storage";
# runroot = "/run/containers/storage";
# };
# };
};
}