blob: 95f4f39f4cfcefd5ce4b21556f0a2be6e93f20f2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
with import <nixpkgs> {};
with pkgs.lib;
{
generateKConf = exprs: let
isNumber = c: elem c ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"];
mkValue = val:
if val == "" then "\"\""
else if val == "y" || val == "m" || val == "n" then val
else if all isNumber (stringToCharacters val) then val
else if substring 0 2 val == "0x" then val
else "\"${val}\"";
mkConfigLine = key: val: "${key}=${mkValue val}";
mkConf = cfg: concatStringsSep "\n" (mapAttrsToList mkConfigLine cfg);
in pkgs.writeText "generated.kconf" (mkConf exprs);
}
|