diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2020-10-11 00:27:42 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2020-10-11 00:27:42 +0200 |
commit | 1882368e8a3225f75f83efebc925ddc01b16d7d5 (patch) | |
tree | 937c001d58a8c2458808d1d7221e1e08b7cd6238 /lib | |
parent | db3b1c12cbb136da533ae37e7c5e83b7dec504ee (diff) | |
parent | aabcf2d8f52c68ad37d72bf80d90608831450af5 (diff) |
Merge branch 'staging-next' into staging
Diffstat (limited to 'lib')
-rw-r--r-- | lib/default.nix | 2 | ||||
-rw-r--r-- | lib/modules.nix | 17 | ||||
-rw-r--r-- | lib/trivial.nix | 6 |
3 files changed, 24 insertions, 1 deletions
diff --git a/lib/default.nix b/lib/default.nix index 43b9ab5930c4..44076d295176 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -66,7 +66,7 @@ let stringLength sub substring tail; inherit (trivial) id const pipe concat or and bitAnd bitOr bitXor bitNot boolToString mergeAttrs flip mapNullable inNixShell min max - importJSON warn info showWarnings nixpkgsVersion version mod compare + importJSON importTOML warn info showWarnings nixpkgsVersion version mod compare splitByAndCompare functionArgs setFunctionArgs isFunction toHexString toBaseDigits; inherit (fixedPoints) fix fix' converge extends composeExtensions makeExtensible makeExtensibleWithCustomName; diff --git a/lib/modules.nix b/lib/modules.nix index 02a669df6593..df3a2ad17e5f 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -875,4 +875,21 @@ rec { ]; }; + /* Use this function to import a JSON file as NixOS configuration. + + importJSON -> path -> attrs + */ + importJSON = file: { + _file = file; + config = lib.importJSON file; + }; + + /* Use this function to import a TOML file as NixOS configuration. + + importTOML -> path -> attrs + */ + importTOML = file: { + _file = file; + config = lib.importTOML file; + }; } diff --git a/lib/trivial.nix b/lib/trivial.nix index 9501a2906cae..268f39d32103 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -281,6 +281,12 @@ rec { importJSON = path: builtins.fromJSON (builtins.readFile path); + /* Reads a TOML file. + + Type :: path -> any + */ + importTOML = path: + builtins.fromTOML (builtins.readFile path); ## Warnings |