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" ];
};
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" ];
];
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" ];
};
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" ];
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" ];
};
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" ];
) 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" ];
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" ];
-{ config, pkgs, lib }:
+{ config, pkgs, lib, initDB ? false }:
serviceCfg: serviceDrv: iniKey: attrs:
let
cfg = config.services.sourcehut;
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
printf "%s" "${serviceDrv.version}" > ${statePath}/db
fi
''}
- '';
+ '');
}
attrs
]
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" ];