nixos/soju: add option to overwrite generated configFile (#340583)

This commit is contained in:
Sandro 2025-02-27 23:34:58 +01:00 committed by GitHub
commit 511e62f5ec
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

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";
};