sourcehut: handle lists in settings
[sourcephile-nix.git] / hosts / losurdo / gitolite.nix
index 49e913f4fbb1acc450ec4e41e41fe631b6c34131..a3550c6eaa22d43b62bd43fa04d73b766e74ce1f 100644 (file)
@@ -1,4 +1,4 @@
-{ inputs, pkgs, lib, config, ... }:
+{ pkgs, lib, config, inputs, hostName, ... }:
 let
   inherit (lib) types;
   inherit (config) networking;
@@ -11,8 +11,10 @@ environment.systemPackages = [ pkgs.gitolite ];
 services.gitolite = {
   enable = true;
   user   = "git";
-  group  = users."git-daemon".name;
-  adminPubkey = builtins.readFile (inputs.secrets + "/members/ssh/julm.pub");
+  group  = users."git".name;
+  adminPubkey =
+    builtins.readFile (inputs.secrets + "/members/ssh/julm.pub") +
+    builtins.readFile (inputs.secrets + "/members/ssh/julm-losurdo.pub");
   extraGitoliteRc = ''
     $RC{UMASK}           = 0027; # NOTE: no quote around in Perl, so it's octal
     $RC{LOG_DEST}        = 'repo-log,syslog';
@@ -38,8 +40,12 @@ services.gitolite = {
                          ));
   '';
 };
-fileSystems."/var/lib/gitolite" =
-  { device = "rpool/var/git";
-    fsType = "zfs";
-  };
+fileSystems."/var/lib/gitolite" = {
+  device = "${hostName}/var/git";
+  fsType = "zfs";
+};
+services.sanoid.datasets."${hostName}/var/git" = {
+  use_template = [ "snap" ];
+  daily = 7;
+};
 }