From af9f38c205fbcd0959169771bf65b77cc1264f81 Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Fri, 3 Sep 2021 12:00:00 +0000 Subject: [PATCH] zsh: fix TZ= completion --- pkgs/shells/zsh/default.nix | 5 +++++ pkgs/shells/zsh/tz_completion.patch | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/shells/zsh/tz_completion.patch 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 "$@" -