diff options
author | zimbatm <zimbatm@zimbatm.com> | 2016-02-28 16:35:27 +0000 |
---|---|---|
committer | zimbatm <zimbatm@zimbatm.com> | 2016-02-29 11:21:56 +0000 |
commit | 22d7c08dc506f74803b7c61c6cbf156dfe844f02 (patch) | |
tree | 1a970444e1d8777c2a79cddc55c96c114c4e6dd0 /lib | |
parent | fa4499cc8c8a4d31cf8acff941f3c752fc993bee (diff) |
lib.trivial: add a new importJSON function
This is meant to be used by packages who often re-generate their inputs.
Producing valid JSON is easier than nix, and also garantees it's purity.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/trivial.nix | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/trivial.nix b/lib/trivial.nix index cda8aa08a205..9821e3c138dd 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -75,4 +75,25 @@ rec { min = x: y: if x < y then x else y; max = x: y: if x > y then x else y; + /* Reads a JSON file. It is useful to import pure data into other nix + expressions. + + Example: + + mkDerivation { + src = fetchgit (importJSON ./repo.json) + #... + } + + where repo.json contains: + + { + "url": "git://some-domain/some/repo", + "rev": "265de7283488964f44f0257a8b4a055ad8af984d", + "sha256": "0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h" + } + + */ + importJSON = path: + builtins.fromJSON (builtins.readFile path); } |