mirror of
https://codeberg.org/privacy1st/nix-git
synced 2024-11-25 22:35:03 +01:00
43 lines
1.5 KiB
Nix
43 lines
1.5 KiB
Nix
{ config, pkgs, ... }:
|
|
{
|
|
# https://nixos.wiki/wiki/Podman#Install_and_configure_podman_with_NixOS_service_configuration
|
|
# https://search.nixos.org/options?channel=23.05&query=virtualisation.podman
|
|
|
|
# TODO: Run as systemd services. https://nixos.wiki/wiki/Podman#Run_Podman_containers_as_systemd_services
|
|
# TODO: Podman Terminal UI. https://github.com/containers/podman-tui#podman-tui
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
podman-compose
|
|
];
|
|
|
|
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;
|
|
};
|
|
|
|
# Run `podman system prune` every week.
|
|
autoPrune.enable = true;
|
|
autoPrune.dates = "weekly";
|
|
autoPrune.flags = [
|
|
# Recursively remove all unused pods, containers, images, networks, and volume data.
|
|
# https://docs.podman.io/en/stable/markdown/podman-system-prune.1.html#all-a
|
|
"--all"
|
|
# Prune volumes currently unused by any container
|
|
# https://docs.podman.io/en/stable/markdown/podman-system-prune.1.html#volumes
|
|
"--volumes"
|
|
# Only remove containers and images created at least one week ago.
|
|
# https://docs.podman.io/en/stable/markdown/podman-system-prune.1.html#filter-filters
|
|
# https://pkg.go.dev/maze.io/x/duration#ParseDuration
|
|
"--filter until=7d"
|
|
];
|
|
};
|
|
};
|
|
}
|