diff options
Diffstat (limited to 'machines/mmrnmhrm.nix')
-rw-r--r-- | machines/mmrnmhrm.nix | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/machines/mmrnmhrm.nix b/machines/mmrnmhrm.nix index a765918e..2e986f55 100644 --- a/machines/mmrnmhrm.nix +++ b/machines/mmrnmhrm.nix @@ -1,4 +1,4 @@ -{config, pkgs, ...}: +{ config, pkgs, ... }: with pkgs.lib; @@ -9,12 +9,20 @@ with pkgs.lib; linuxAszlig = pkgs.linuxManualConfig { version = pkgs.kernelSourceAszlig.version; src = pkgs.kernelSourceAszlig.src; - configfile = pkgs.fetchurl { - name = "aszlig.kconf"; - url = "file:///home/aszlig/linux/.config"; - md5 = "0c632194689797846127b47fa135c516"; - }; - allowImportFromDerivation = true; # XXX + + configfile = 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 ./mmrnmhrm-kconf.nix)); + + allowImportFromDerivation = true; }; in rec { kernelPackages = pkgs.linuxPackagesFor linuxAszlig kernelPackages; |