summary refs log tree commit diff
path: root/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix')
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix57
1 files changed, 57 insertions, 0 deletions
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
new file mode 100644
index 00000000000..f38f15e3c6d
--- /dev/null
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchFromGitHub, pantheon, substituteAll, meson, ninja, pkgconfig, vala, libgee
+, granite, gtk3, libxml2, libgnomekbd, libxklavier, xorg, switchboard, gobject-introspection }:
+
+stdenv.mkDerivation rec {
+  pname = "switchboard-plug-keyboard";
+  version = "2.3.4";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = pname;
+    rev = version;
+    sha256 = "1997hnhlcp2jmf3z70na42vl1b7i5vxhp7k5ga5sl68dv0g4126y";
+  };
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      repoName = pname;
+    };
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    libxml2
+    meson
+    ninja
+    pkgconfig
+    vala
+  ];
+
+  buildInputs = [
+    granite
+    gtk3
+    libgee
+    libgnomekbd
+    libxklavier
+    switchboard
+  ];
+
+  patches = [
+    (substituteAll {
+      src = ./xkb.patch;
+      config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml";
+    })
+  ];
+
+  LIBRARY_PATH = stdenv.lib.makeLibraryPath [ libgnomekbd ];
+
+  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard";
+
+  meta = with stdenv.lib; {
+    description = "Switchboard Keyboard Plug";
+    homepage = https://github.com/elementary/switchboard-plug-keyboard;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = pantheon.maintainers;
+  };
+}