about summary refs log tree commit diff
path: root/machines/dnyarri.nix
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2012-12-13 23:46:55 +0100
committeraszlig <aszlig@redmoonstudios.org>2012-12-27 14:11:04 +0100
commit25c5c3b8ae52768a421af75d83ea806bb2626355 (patch)
tree3265d0af5cc565c1506a3a637230d98ca34ca13c /machines/dnyarri.nix
parent7e62e31f9f2bba0864ee8dd05b490c17387f5322 (diff)
dnyarri: Add kernel configuration as an attrset.
So, now we have lots of duplication which needs to be merged as soon as
possible.

This commit is obviously quite similar to the previous commit:

7e62e31f9f2bba0864ee8dd05b490c17387f5322

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'machines/dnyarri.nix')
-rw-r--r--machines/dnyarri.nix17
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";