upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/nix/module.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/module.nix')
-rw-r--r--nix/module.nix16
1 files changed, 9 insertions, 7 deletions
diff --git a/nix/module.nix b/nix/module.nix
index 53a4d77..a175639 100644
--- a/nix/module.nix
+++ b/nix/module.nix
@@ -282,13 +282,7 @@ let
282 SystemCallErrorNumber = "EPERM"; 282 SystemCallErrorNumber = "EPERM";
283 }; 283 };
284 284
285 # Ensure data directories exist before starting 285 # Directory creation handled by systemd tmpfiles (see config section below)
286 preStart = ''
287 mkdir -p ${cfg.dataDir}/git
288 mkdir -p ${cfg.dataDir}/relay
289 chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
290 chmod 750 ${cfg.dataDir}
291 '';
292 }; 286 };
293 287
294 enabledInstances = 288 enabledInstances =
@@ -340,5 +334,13 @@ in {
340 systemd.services = mapAttrs' 334 systemd.services = mapAttrs'
341 (name: cfg: nameValuePair "ngit-grasp-${name}" (mkService name cfg)) 335 (name: cfg: nameValuePair "ngit-grasp-${name}" (mkService name cfg))
342 enabledInstances; 336 enabledInstances;
337
338 # Create data directories with proper ownership using tmpfiles
339 # This runs as root before the service starts
340 systemd.tmpfiles.rules = flatten (mapAttrsToList (name: cfg: [
341 "d ${cfg.dataDir} 0750 ${cfg.user} ${cfg.group} -"
342 "d ${cfg.dataDir}/git 0750 ${cfg.user} ${cfg.group} -"
343 "d ${cfg.dataDir}/relay 0750 ${cfg.user} ${cfg.group} -"
344 ]) enabledInstances);
343 }; 345 };
344} 346}