nixos/soju: add option to overwrite generated configFile

This commit is contained in:
DCsunset 2024-09-08 19:35:18 +00:00
parent 8588b1599e
commit f00f508bdb

View File

@ -27,7 +27,7 @@ let
'';
sojuctl = pkgs.writeShellScriptBin "sojuctl" ''
exec ${cfg.package}/bin/sojuctl --config ${configFile} "$@"
exec ${lib.getExe' cfg.package "sojuctl"} --config ${cfg.configFile} "$@"
'';
in
{
@ -107,7 +107,18 @@ in
extraConfig = mkOption {
type = types.lines;
default = "";
description = "Lines added verbatim to the configuration file.";
description = "Lines added verbatim to the generated configuration file.";
};
configFile = mkOption {
type = types.path;
default = configFile;
defaultText = "Config file generated from other options.";
description = ''
Path to config file. If this option is set, it will override any
configuration done using other options, including {option}`extraConfig`.
'';
example = literalExpression "./soju.conf";
};
};
@ -134,7 +145,7 @@ in
serviceConfig = {
DynamicUser = true;
Restart = "always";
ExecStart = "${cfg.package}/bin/soju -config ${configFile}";
ExecStart = "${lib.getExe' cfg.package "soju"} -config ${cfg.configFile}";
StateDirectory = "soju";
RuntimeDirectory = "soju";
};