summary refs log tree commit diff
path: root/pkgs/shells
diff options
context:
space:
mode:
authorTimothy DeHerrera <tim.deh@pm.me>2021-09-03 13:04:07 -0600
committerGitHub <noreply@github.com>2021-09-03 13:04:07 -0600
commit5fe504bf2fed39ed66f364a82d3c0b89c59e4282 (patch)
tree3e9c7fdaade9c011fb63362bca5bce4986a019a3 /pkgs/shells
parente0e88983f968aca7eca628a76d0b7ed9b87bcd55 (diff)
parentaf9f38c205fbcd0959169771bf65b77cc1264f81 (diff)
downloadnixpkgs-5fe504bf2fed39ed66f364a82d3c0b89c59e4282.tar
nixpkgs-5fe504bf2fed39ed66f364a82d3c0b89c59e4282.tar.gz
nixpkgs-5fe504bf2fed39ed66f364a82d3c0b89c59e4282.tar.bz2
nixpkgs-5fe504bf2fed39ed66f364a82d3c0b89c59e4282.tar.lz
nixpkgs-5fe504bf2fed39ed66f364a82d3c0b89c59e4282.tar.xz
nixpkgs-5fe504bf2fed39ed66f364a82d3c0b89c59e4282.tar.zst
nixpkgs-5fe504bf2fed39ed66f364a82d3c0b89c59e4282.zip
Merge pull request #136614 from symphorien/zsh-tz-completion
zsh: fix TZ= completion
Diffstat (limited to 'pkgs/shells')
-rw-r--r--pkgs/shells/zsh/default.nix5
-rw-r--r--pkgs/shells/zsh/tz_completion.patch14
2 files changed, 19 insertions, 0 deletions
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index 71f526525e4..92eebfd9544 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -18,6 +18,11 @@ stdenv.mkDerivation {
     sha256 = "09yyaadq738zlrnlh1hd3ycj1mv3q5hh4xl1ank70mjnqm6bbi6w";
   };
 
+  patches = [
+    # fix location of timezone data for TZ= completion
+    ./tz_completion.patch
+  ];
+
   buildInputs = [ ncurses pcre ];
 
   configureFlags = [
diff --git a/pkgs/shells/zsh/tz_completion.patch b/pkgs/shells/zsh/tz_completion.patch
new file mode 100644
index 00000000000..01977828129
--- /dev/null
+++ b/pkgs/shells/zsh/tz_completion.patch
@@ -0,0 +1,14 @@
+On NixOS, timezone data is located at /etc/zoneinfo
+diff --git a/Completion/Unix/Type/_time_zone b/Completion/Unix/Type/_time_zone
+index cd924bbc7..5d683291b 100644
+--- a/Completion/Unix/Type/_time_zone
++++ b/Completion/Unix/Type/_time_zone
+@@ -3,7 +3,7 @@
+ local expl
+ 
+ if (( ! $+_zoneinfo_dirs )); then
+-  _zoneinfo_dirs=( /usr/{share,lib,share/lib}/{zoneinfo*,locale/TZ}(/) )
++  _zoneinfo_dirs=( /etc/zoneinfo /usr/{share,lib,share/lib}/{zoneinfo*,locale/TZ}(/) )
+ fi
+ 
+ _wanted time-zones expl 'time zone' _files -W _zoneinfo_dirs "$@" -