sourcehut: use service.nix for all systemd services
authorJulien Moutinho <julm@sourcephile.fr>
Fri, 6 Aug 2021 15:20:53 +0000 (17:20 +0200)
committerJulien Moutinho <julm@sourcephile.fr>
Sat, 7 Aug 2021 14:37:51 +0000 (16:37 +0200)
nixos/modules/services/misc/sourcehut/builds.nix
nixos/modules/services/misc/sourcehut/dispatch.nix
nixos/modules/services/misc/sourcehut/hg.nix
nixos/modules/services/misc/sourcehut/hub.nix
nixos/modules/services/misc/sourcehut/lists.nix
nixos/modules/services/misc/sourcehut/man.nix
nixos/modules/services/misc/sourcehut/meta.nix
nixos/modules/services/misc/sourcehut/paste.nix
nixos/modules/services/misc/sourcehut/service.nix
nixos/modules/services/misc/sourcehut/todo.nix

index 7ed35e8a3805bad647715bb62f928c60cb684c4c..ffd2f3cf16d2c67878b7c95fa7fcd3a6dbe87ae3 100644 (file)
@@ -130,7 +130,7 @@ in
 
     systemd = {
       services = {
-        buildsrht = import ./service.nix { inherit config pkgs lib; } scfg drv iniKey
+        buildsrht = import ./service.nix { inherit config pkgs lib; initDB = true; } scfg drv iniKey
           {
             after = [ "postgresql.service" "network.target" ];
             requires = [ "postgresql.service" ];
index 70dfb96b8047276ca539b83fe798b971a3181d48..8128ef54f425055e2b68b9482c4872d6748af262 100644 (file)
@@ -70,7 +70,7 @@ in
     };
 
     systemd = {
-      services.dispatchsrht = import ./service.nix { inherit config pkgs lib; } scfg drv iniKey {
+      services.dispatchsrht = import ./service.nix { inherit config pkgs lib; initDB = true; } scfg drv iniKey {
         after = [ "postgresql.service" "network.target" ];
         requires = [ "postgresql.service" ];
         wantedBy = [ "multi-user.target" ];
index eb2a3ab18e297c18e03c531ba086d8a759bc70a5..98bd5c71a19267f6e2c8d663e66a073f285a52bf 100644 (file)
@@ -107,7 +107,7 @@ in
       ];
 
       services = {
-        hgsrht = import ./service.nix { inherit config pkgs lib; } scfg drv iniKey {
+        hgsrht = import ./service.nix { inherit config pkgs lib; initDB = true; } scfg drv iniKey {
           after = [ "redis.service" "postgresql.service" "network.target" ];
           requires = [ "redis.service" "postgresql.service" ];
           wantedBy = [ "multi-user.target" ];
index 80ff60d13aff659894bb2d80c3821c364a395cb7..fd1448e108164dba8017e69e2358c4210f5aac8f 100644 (file)
@@ -68,7 +68,7 @@ in
     };
 
     systemd = {
-      services.hubsrht = import ./service.nix { inherit config pkgs lib; } scfg drv iniKey {
+      services.hubsrht = import ./service.nix { inherit config pkgs lib; initDB = true; } scfg drv iniKey {
         after = [ "postgresql.service" "network.target" ];
         requires = [ "postgresql.service" ];
         wantedBy = [ "multi-user.target" ];
index bdbdd5f169d0b0d6093d32c77bad6b220fa1e46d..5ff8b0d2b4fc362ace9499b384195f0555ab6cbf 100644 (file)
@@ -73,7 +73,7 @@ in
 
     systemd = {
       services = {
-        listssrht = import ./service.nix { inherit config pkgs lib; } scfg drv iniKey {
+        listssrht = import ./service.nix { inherit config pkgs lib; initDB = true; } scfg drv iniKey {
           after = [ "postgresql.service" "network.target" ];
           requires = [ "postgresql.service" ];
           wantedBy = [ "multi-user.target" ];
index 1bdabb36b358c2a4f34ffff9e272d67f0830c818..05028dc8246f006916d40dcbdb152422ed296c05 100644 (file)
@@ -76,7 +76,7 @@ in
     };
 
     systemd = {
-      services.mansrht = import ./service.nix { inherit config pkgs lib; } scfg drv iniKey {
+      services.mansrht = import ./service.nix { inherit config pkgs lib; initDB = true; } scfg drv iniKey {
         after = [ "postgresql.service" "network.target" ];
         requires = [ "postgresql.service" ];
         wantedBy = [ "multi-user.target" ];
index b065c3e5b362a9ce60a2018789aaaacc5536d4f0..33f0a14338db320f84d2c6c48073099891cd29c8 100644 (file)
@@ -96,7 +96,7 @@ in
               ) cfg.settings))}
         '';
         in {
-        metasrht = import ./service.nix { inherit config pkgs lib; } scfg drv iniKey {
+        metasrht = import ./service.nix { inherit config pkgs lib; initDB = true; } scfg drv iniKey {
           after = [ "postgresql.service" "network.target" ];
           requires = [ "postgresql.service" ];
           wantedBy = [ "multi-user.target" ];
index 240ce06c6cfa61dec2d490f200e24f9114e9bb96..4ce4b57ec3a452226a5f8e2613176532b3e2f63f 100644 (file)
@@ -70,7 +70,7 @@ in
 
     systemd = {
       services = {
-        pastesrht = import ./service.nix { inherit config pkgs lib; } scfg drv iniKey {
+        pastesrht = import ./service.nix { inherit config pkgs lib; initDB = true; } scfg drv iniKey {
           after = [ "postgresql.service" "network.target" ];
           requires = [ "postgresql.service" ];
           wantedBy = [ "multi-user.target" ];
index 444f14cc1714d685c8ef87b7dd5971e009261e6c..44e4f8d748553ccf9639927c3306c26a42df72d8 100644 (file)
@@ -1,4 +1,4 @@
-{ config, pkgs, lib }:
+{ config, pkgs, lib, initDB ? false }:
 serviceCfg: serviceDrv: iniKey: attrs:
 let
   cfg = config.services.sourcehut;
@@ -23,7 +23,7 @@ with serviceCfg; with lib; mkMerge [
     StateDirectory = [ "sourcehut/${serviceDrv.pname}" ];
   };
 
-  preStart = mkBefore ''
+  preStart = mkIf initDB (mkBefore ''
     if ! test -e ${statePath}/db; then
       # Setup the initial database
       ${cfg.python}/bin/python <<EOF
@@ -58,7 +58,7 @@ with serviceCfg; with lib; mkMerge [
         printf "%s" "${serviceDrv.version}" > ${statePath}/db
       fi
     ''}
-  '';
+  '');
 }
 attrs
 ]
index 5272b16fca3b93480978976618d0dcbe5ce01a67..e90a3d4502d0c1e104366e051c9415d745531a7c 100644 (file)
@@ -70,7 +70,7 @@ in
 
     systemd = {
       services = {
-        todosrht = import ./service.nix { inherit config pkgs lib; } scfg drv iniKey {
+        todosrht = import ./service.nix { inherit config pkgs lib; initDB = true; } scfg drv iniKey {
           after = [ "postgresql.service" "network.target" ];
           requires = [ "postgresql.service" ];
           wantedBy = [ "multi-user.target" ];