From acdc23142184affcfeb2e9dfc95d3469c11926c7 Mon Sep 17 00:00:00 2001 From: Hermes-Neo Date: Sat, 18 Jul 2026 04:06:47 +0100 Subject: [PATCH] refactor: use activation script to sync containers folder --- modules/common/podman.nix | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) 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" ]; + }; }