34 lines
890 B
Nix
34 lines
890 B
Nix
{ config, lib, pkgs, ... }:
|
|
{
|
|
virtualisation.podman.enable = true;
|
|
|
|
# System-level containers (rootful, can bind low ports)
|
|
# Declared here so NixOS handles daemon-reload properly
|
|
virtualisation.oci-containers = {
|
|
backend = "podman";
|
|
containers = {
|
|
caddy = {
|
|
image = "caddy:latest";
|
|
ports = [
|
|
"80:80"
|
|
"443:443"
|
|
];
|
|
volumes = [
|
|
"/var/lib/caddy/data:/data"
|
|
"/var/lib/caddy/config:/config"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
# User containers (rootless, as the containers user via quadlets)
|
|
system.activationScripts.containers-quadlets = {
|
|
text = ''
|
|
mkdir -p /var/lib/containers/.config/containers/systemd
|
|
cp -r ${./containers}/* /var/lib/containers/.config/containers/systemd/
|
|
chown -R containers:containers /var/lib/containers/.config
|
|
'';
|
|
deps = [ "users" ];
|
|
};
|
|
}
|