diff options
Diffstat (limited to 'machines/dnyarri.nix')
-rw-r--r-- | machines/dnyarri.nix | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/machines/dnyarri.nix b/machines/dnyarri.nix index d2cfaf73..3a3801a2 100644 --- a/machines/dnyarri.nix +++ b/machines/dnyarri.nix @@ -44,11 +44,18 @@ with pkgs.lib; configfile = pkgs.substituteAll { name = "aszlig-with-firmware.kconf"; - src = pkgs.fetchurl { - name = "aszlig.kconf"; - url = "file:///home/aszlig/linux/.config"; - md5 = "318762752f2831d26a315d040437f42a"; - }; + # XXX: in mmrnmhrm.nix as well, factor out! + src = 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 "aszlig.kconf" (mkConf (import ./dnyarri-kconf.nix)); builtin_firmware = pkgs.stdenv.mkDerivation { name = "builtin-firmware"; |