diff --git a/modules/common/podman.nix b/modules/common/podman.nix index fe904ef..40f7269 100644 --- a/modules/common/podman.nix +++ b/modules/common/podman.nix @@ -1,29 +1,14 @@ { config, lib, pkgs, ... }: - -let - nginxQuadlet = pkgs.writeText "nginx-example.container" '' - [Container] - Image=nginx:latest - PublishPort=9999:80 - - [Service] - Restart=always - - [Install] - WantedBy=default.target - ''; -in { - virtualisation.podman = { - enable = true; - # Rootless containers via user quadlets - }; + virtualisation.podman.enable = true; - # Write quadlet files into the containers user's config directory - systemd.tmpfiles.rules = [ - "d /var/lib/containers/.config 0755 containers containers -" - "d /var/lib/containers/.config/containers 0755 containers containers -" - "d /var/lib/containers/.config/containers/systemd 0755 containers containers -" - "L+ /var/lib/containers/.config/containers/systemd/nginx-example.container - - - - ${nginxQuadlet}" - ]; + # Sync everything in ./containers/ to the containers user's quadlet directory + 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" ]; + }; }