boddle: add WantedBy / After configuration to systemd service

This commit is contained in:
Eva Dengler 2025-12-02 13:49:21 +01:00
commit dbd706679b

View file

@ -30,7 +30,10 @@
config.systemd.services.boddle = lib.mkIf config.services.boddle.enable { config.systemd.services.boddle = lib.mkIf config.services.boddle.enable {
confinement.enable = true; confinement.enable = true;
unitConfig.ConditionPathExists = [ cfg.database ]; unitConfig.ConditionPathExists = [ cfg.database ];
serviceConfig.ExecStart = let wantedBy = [ "multi-user.target" ];
after = [ "network-online.service" ];
serviceConfig = {
ExecStart = let
args = lib.lists.foldl (acc: channel: acc ++ [ "--channel" channel ]) [ args = lib.lists.foldl (acc: channel: acc ++ [ "--channel" channel ]) [
(lib.getExe pkgs.boddle) (lib.getExe pkgs.boddle)
"--server" cfg.server "--server" cfg.server
@ -38,15 +41,16 @@
"--database" "./${cfg.nick}.db" "--database" "./${cfg.nick}.db"
] cfg.channels; ] cfg.channels;
in lib.strings.escapeShellArgs args; in lib.strings.escapeShellArgs args;
serviceConfig.WorkingDirectory = "%S/boddle"; WorkingDirectory = "%S/boddle";
serviceConfig.StateDirectory = "boddle"; StateDirectory = "boddle";
serviceConfig.DynamicUser = true; DynamicUser = true;
serviceConfig.BindPaths = [ BindPaths = [
"/etc/resolv.conf" "/etc/resolv.conf"
"${cfg.database}:%S/boddle/${cfg.nick}.db" "${cfg.database}:%S/boddle/${cfg.nick}.db"
]; ];
}; };
}; };
};
per-system = fn: builtins.mapAttrs (_: fn) nixpkgs.legacyPackages; per-system = fn: builtins.mapAttrs (_: fn) nixpkgs.legacyPackages;