Skip to content

Commit

Permalink
zsh: patch _setxkbmap completion script
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Ma27 committed Sep 20, 2018
1 parent f70dc57 commit 18d4615
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
2 changes: 2 additions & 0 deletions nixos/modules/services/x11/xserver.nix
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,8 @@ in
]
++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;

environment.pathsToLink = [ "/share/X11" ];

xdg = {
autostart.enable = true;
menus.enable = true;
Expand Down
11 changes: 10 additions & 1 deletion pkgs/shells/zsh/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, fetchurl, ncurses, pcre }:
{ stdenv, fetchurl, ncurses, pcre, fetchpatch }:

let
version = "5.6";
Expand All @@ -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 = [
Expand Down

0 comments on commit 18d4615

Please sign in to comment.