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" '' sojuctl = pkgs.writeShellScriptBin "sojuctl" ''
exec ${cfg.package}/bin/sojuctl --config ${configFile} "$@" exec ${lib.getExe' cfg.package "sojuctl"} --config ${cfg.configFile} "$@"
''; '';
in in
{ {
@ -107,7 +107,18 @@ in
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; 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 = { serviceConfig = {
DynamicUser = true; DynamicUser = true;
Restart = "always"; Restart = "always";
ExecStart = "${cfg.package}/bin/soju -config ${configFile}"; ExecStart = "${lib.getExe' cfg.package "soju"} -config ${cfg.configFile}";
StateDirectory = "soju"; StateDirectory = "soju";
RuntimeDirectory = "soju"; RuntimeDirectory = "soju";
}; };