From 6dbf8c04097c8961bb1cb9cb319fee42eb19ab7a Mon Sep 17 00:00:00 2001 From: Timothy DeHerrera Date: Sat, 3 Jul 2021 13:54:00 -0600 Subject: [PATCH] zsh: include completions for nix-* commands --- nixos/modules/programs/zsh/zsh.nix | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix index 4eac7c8afbf6..e0335643b6e3 100644 --- a/nixos/modules/programs/zsh/zsh.nix +++ b/nixos/modules/programs/zsh/zsh.nix @@ -280,11 +280,21 @@ in environment.etc.zinputrc.source = ./zinputrc; - environment.systemPackages = [ pkgs.zsh ] - ++ optional - (cfg.enableCompletion - && !lib.versionAtLeast (lib.getVersion config.nix.package) "2.4pre") - pkgs.nix-zsh-completions; + environment.systemPackages = + let + completions = + if lib.versionAtLeast (lib.getVersion config.nix.package) "2.4pre" + then + pkgs.nix-zsh-completions.overrideAttrs + (_: { + postInstall = '' + rm $out/share/zsh/site-functions/_nix + ''; + }) + else pkgs.nix-zsh-completions; + in + [ pkgs.zsh ] + ++ optional cfg.enableCompletion completions; environment.pathsToLink = optional cfg.enableCompletion "/share/zsh";