nixos/davfs2: ensure extraConfig and settings are mutually exclusive

This commit is contained in:
éclairevoyant 2024-04-11 16:08:08 -04:00
parent 10c5429290
commit a60e4033ca
No known key found for this signature in database
GPG Key ID: E3813AEAA02DB54B
1 changed files with 19 additions and 7 deletions

View File

@ -19,13 +19,15 @@ let
else if builtins.isString value then "\"${escapeString value}\""
else toString value;
configFile = pkgs.writeText "davfs2.conf" ''
${toINIWithGlobalSection {
mkSectionName = escapeString;
mkKeyValue = k: v: "${k} ${formatValue v}";
} cfg.settings}
${cfg.extraConfig}
'';
configFile = pkgs.writeText "davfs2.conf" (
if (cfg.settings != { }) then
(toINIWithGlobalSection {
mkSectionName = escapeString;
mkKeyValue = k: v: "${k} ${formatValue v}";
} cfg.settings)
else
cfg.extraConfig
);
in
{
@ -107,6 +109,16 @@ in
config = mkIf cfg.enable {
assertions = [
{
assertion = cfg.extraConfig != "" -> cfg.settings == { };
message = ''
services.davfs2.extraConfig and services.davfs2.settings cannot be used together.
Please prefer using services.davfs2.settings.
'';
}
];
warnings = optional (cfg.extraConfig != "") ''
services.davfs2.extraConfig will be deprecated in future releases;
please use services.davfs2.settings instead.