From 5c72fd684249c99b173fbc33ef82c460f414f60b Mon Sep 17 00:00:00 2001 From: Tanya Date: Mon, 24 Mar 2025 01:13:32 +0530 Subject: [PATCH] nixos/bat: fix settings type handling --- nixos/modules/programs/bat.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/nixos/modules/programs/bat.nix b/nixos/modules/programs/bat.nix index 5ccc87baf2c4..9d220cf7aa1c 100644 --- a/nixos/modules/programs/bat.nix +++ b/nixos/modules/programs/bat.nix @@ -18,6 +18,8 @@ let nameValuePair optionalString types + isBool + boolToString ; inherit (types) listOf package; @@ -26,6 +28,15 @@ let settingsFormat = pkgs.formats.keyValue { listsAsDuplicateKeys = true; }; inherit (settingsFormat) generate type; + recursiveToString = + value: + if isList value then + map recursiveToString value + else if isBool value then + boolToString value + else + toString value; + initScript = { program, @@ -97,12 +108,7 @@ in environment = { systemPackages = [ cfg.package ] ++ cfg.extraPackages; etc."bat/config".source = generate "bat-config" ( - mapAttrs' ( - name: value: - nameValuePair ("--" + name) ( - if (isList value) then map (str: "\"${str}\"") value else "\"${value}\"" - ) - ) cfg.settings + mapAttrs' (name: value: nameValuePair ("--" + name) (recursiveToString value)) cfg.settings ); };