summary refs log tree commit diff
path: root/pkgs/shells
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2018-09-06 01:04:40 +0200
committerMaximilian Bosch <maximilian@mbosch.me>2018-09-20 12:54:34 +0200
commit18d461533ba7e4d0981f164bbc4423a141bfa51e (patch)
tree1ae466820b84aa8e6b428420245b9cd22f662288 /pkgs/shells
parentf70dc57ad3b63211cdc348bb3346139519aefced (diff)
downloadnixpkgs-18d461533ba7e4d0981f164bbc4423a141bfa51e.tar
nixpkgs-18d461533ba7e4d0981f164bbc4423a141bfa51e.tar.gz
nixpkgs-18d461533ba7e4d0981f164bbc4423a141bfa51e.tar.bz2
nixpkgs-18d461533ba7e4d0981f164bbc4423a141bfa51e.tar.lz
nixpkgs-18d461533ba7e4d0981f164bbc4423a141bfa51e.tar.xz
nixpkgs-18d461533ba7e4d0981f164bbc4423a141bfa51e.tar.zst
nixpkgs-18d461533ba7e4d0981f164bbc4423a141bfa51e.zip
zsh: patch `_setxkbmap` completion script
Instead of searching `/usr` it should search for the `xkb`,
$XDG_DATA_DIRS will be searched. With this approach we allow compliance
on NixOS and non-NixOS systems to find `symbols` in the `xkb` directory.

The patch has been accepted by upstream, but isn't released yet, so this
is mainly a temporary fix until we can bump ZSH to the next stable version.

The `xserver` module links `/share/X11/xkb` to `/run/current-system` to
make this possible.

The fix can be tested inside the following VM:

```
{
  zshtest = {
    programs.zsh.enable = true;
    users.extraUsers.vm = {
      password = "vm";
      isNormalUser = true;
    };
    services.xserver.enable = true;
  };
}
```

Fixes #46025
Diffstat (limited to 'pkgs/shells')
-rw-r--r--pkgs/shells/zsh/default.nix11
1 files changed, 10 insertions, 1 deletions
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index 100657312da..e593d5cb5df 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, pcre }:
+{ stdenv, fetchurl, ncurses, pcre, fetchpatch }:
 
 let
   version = "5.6";
@@ -18,6 +18,15 @@ stdenv.mkDerivation {
     sha256 = "1vik7s3q5hvazvgw4jm4b90qlk6zcry0s314xw1liarspkd721g3";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "search-xdg-data-dirs.patch";
+      url = https://github.com/zsh-users/zsh/commit/624219e0e4cbfdfb286e707bd2853f2d7b6a4a7d.patch;
+      sha256 = "0i0g7dc0px57vpklm1f4w20vyc92nv15y09r5clvib2kjkxjy2cf";
+      excludes = [ "ChangeLog" ];
+    })
+  ];
+
   buildInputs = [ ncurses pcre ];
 
   configureFlags = [