diff options
Diffstat (limited to 'krebs/4lib/default.nix')
| -rw-r--r-- | krebs/4lib/default.nix | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/krebs/4lib/default.nix b/krebs/4lib/default.nix index 4d7e0b549..d5b6d03ac 100644 --- a/krebs/4lib/default.nix +++ b/krebs/4lib/default.nix @@ -26,11 +26,15 @@ let out = rec {    shell = import ./shell.nix { inherit lib; };    tree = import ./tree.nix { inherit lib; }; -  toC = x: { +  toC = x: let +    type = typeOf x; +    reject = throw "cannot convert ${type}"; +  in {      list = "{ ${concatStringsSep ", " (map toC x)} }";      null = "NULL"; +    set = if isDerivation x then toJSON x else reject;      string = toJSON x; # close enough -  }.${typeOf x}; +  }.${type} or reject;    subdirsOf = path:      mapAttrs (name: _: path + "/${name}") | 
