summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kbd
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-07-01 03:51:24 +0300
committerNikolay Amiantov <ab@fmap.me>2016-07-08 12:52:39 +0300
commitc89843b604129de19a97643af4aef0f410fce3cf (patch)
tree1d86431e5d3f5bc27aa75953431e1e0735777402 /pkgs/os-specific/linux/kbd
parent6c11d9dd55b7dab91fe54ab17f739df74f9b4b2c (diff)
downloadnixpkgs-c89843b604129de19a97643af4aef0f410fce3cf.tar
nixpkgs-c89843b604129de19a97643af4aef0f410fce3cf.tar.gz
nixpkgs-c89843b604129de19a97643af4aef0f410fce3cf.tar.bz2
nixpkgs-c89843b604129de19a97643af4aef0f410fce3cf.tar.lz
nixpkgs-c89843b604129de19a97643af4aef0f410fce3cf.tar.xz
nixpkgs-c89843b604129de19a97643af4aef0f410fce3cf.tar.zst
nixpkgs-c89843b604129de19a97643af4aef0f410fce3cf.zip
kbd: split keymaps into kbdKeymaps
Diffstat (limited to 'pkgs/os-specific/linux/kbd')
-rw-r--r--pkgs/os-specific/linux/kbd/default.nix18
-rw-r--r--pkgs/os-specific/linux/kbd/keymaps.nix35
2 files changed, 36 insertions, 17 deletions
diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix
index 39da6d2a557..a3f21b51b06 100644
--- a/pkgs/os-specific/linux/kbd/default.nix
+++ b/pkgs/os-specific/linux/kbd/default.nix
@@ -9,18 +9,6 @@ stdenv.mkDerivation rec {
     sha256 = "0ppv953gn2zylcagr4z6zg5y2x93dxrml29plypg6xgbq3hrv2bs";
   };
 
-  /* Get the dvorak programmer keymap (present in X but not in kbd) */
-  dvpSrc = fetchurl {
-    url = "http://kaufmann.no/downloads/linux/dvp-1_2_1.map.gz";
-    sha256 = "0e859211cfe16a18a3b9cbf2ca3e280a23a79b4e40b60d8d01d0fde7336b6d50";
-  };
-
-  neoSrc = fetchurl {
-    name = "neo.map";
-    url = "https://svn.neo-layout.org/linux/console/neo.map?r=2455";
-    sha256 = "1wlgp09wq84hml60hi4ls6d4zna7vhycyg40iipyh1279i91hsx7";
-  };
-
   configureFlags = [
     "--enable-optional-progs"
     "--enable-libkeymap"
@@ -31,13 +19,9 @@ stdenv.mkDerivation rec {
 
   postPatch =
     ''
-      mkdir -p data/keymaps/i386/neo
-      cat "$neoSrc" > data/keymaps/i386/neo/neo.map
+      # Add Neo keymap subdirectory
       sed -i -e 's,^KEYMAPSUBDIRS *= *,&i386/neo ,' data/Makefile.am
 
-      # Add the dvp keyboard in the dvorak folder
-      ${gzip}/bin/gzip -c -d ${dvpSrc} > data/keymaps/i386/dvorak/dvp.map
-
       # Fix the path to gzip/bzip2.
       substituteInPlace src/libkeymap/findfile.c \
         --replace gzip ${gzip}/bin/gzip \
diff --git a/pkgs/os-specific/linux/kbd/keymaps.nix b/pkgs/os-specific/linux/kbd/keymaps.nix
new file mode 100644
index 00000000000..ecb7045ed27
--- /dev/null
+++ b/pkgs/os-specific/linux/kbd/keymaps.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, fetchurl, gzip }:
+
+{
+  dvp = stdenv.mkDerivation rec {
+    name = "dvp-${version}";
+    version = "1.2.1";
+
+    src = fetchurl {
+      url = "http://kaufmann.no/downloads/linux/dvp-${lib.replaceStrings ["."] ["_"] version}.map.gz";
+      sha256 = "0e859211cfe16a18a3b9cbf2ca3e280a23a79b4e40b60d8d01d0fde7336b6d50";
+    };
+
+    nativeBuildInputs = [ gzip ];
+
+    buildCommand = ''
+      mkdir -p $out/share/keymaps/i386/dvorak
+      gzip -c -d $src > $out/share/keymaps/i386/dvorak/dvp.map
+    '';
+  };
+
+  neo = stdenv.mkDerivation rec {
+    name = "neo-${version}";
+    version = "2476";
+
+    src = fetchurl {
+      name = "neo.map";
+      url = "https://svn.neo-layout.org/linux/console/neo.map?r=${version}";
+      sha256 = "19mfrd31vzpsjiwc7pshxm0b0sz5dd17xrz6k079cy4im1vf0r4g";
+    };
+
+    buildCommand = ''
+      install -D $src $out/share/keymaps/i386/neo/neo.map
+    '';
+  };
+}