Skip to content

Commit

Permalink
nixos/tsm-client: Fix multi-value dsm.sys options
Browse files Browse the repository at this point in the history
A configuration such as:

    programs.tsmClient.servers.backup.domain = [ "/dir1" "dir2" ];

...would previously result in an error ("cannot coerce a list to a
string"), since `makeDsmSysLines` would return a nested list.
  • Loading branch information
lluchs committed Jul 16, 2024
1 parent 693bc46 commit f52ee2a
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions nixos/modules/programs/tsm-client.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ let optionsGlobal = options; in
let

inherit (lib.attrsets) attrNames attrValues mapAttrsToList removeAttrs;
inherit (lib.lists) all allUnique concatLists elem isList map;
inherit (lib.lists) all allUnique concatLists concatMap elem isList map;
inherit (lib.modules) mkDefault mkIf;
inherit (lib.options) mkEnableOption mkOption mkPackageOption;
inherit (lib.strings) concatLines match optionalString toLower;
Expand Down Expand Up @@ -231,7 +231,7 @@ let
# Turn a key-value pair from the server options attrset
# into zero (value==null), one (scalar value) or
# more (value is list) configuration stanza lines.
if isList value then map (makeDsmSysLines key) value else # recurse into list
if isList value then concatMap (makeDsmSysLines key) value else # recurse into list
if value == null then [ ] else # skip `null` value
[ (" ${key}${
if value == true then "" else # just output key if value is `true`
Expand Down

0 comments on commit f52ee2a

Please sign in to comment.