From cd5d9f62066a93b4a0c8169c2fa9f092faf8248b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Na=C3=AFm=20Favier?= Date: Thu, 22 Dec 2022 11:08:47 +0100 Subject: [PATCH] nix-bash-completions: don't handle the `nix` command See https://github.com/hedning/nix-bash-completions/issues/20. Even with the low priority on this package, completing `nix-build` will load the nix-bash-completion for the `nix` command, which is undesirable since Nix provides its own completion since 2.4. The maintainer seems unresponsive. --- pkgs/shells/bash/nix-bash-completions/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/shells/bash/nix-bash-completions/default.nix b/pkgs/shells/bash/nix-bash-completions/default.nix index c4282ab0f646..af516a1bcaa5 100644 --- a/pkgs/shells/bash/nix-bash-completions/default.nix +++ b/pkgs/shells/bash/nix-bash-completions/default.nix @@ -11,8 +11,13 @@ stdenv.mkDerivation rec { sha256 = "1n5zs6xcnv4bv1hdaypmz7fv4j7dsr4a0ifah99iyj4p5j85i1bc"; }; + postPatch = '' + # Nix 2.4+ provides its own completion for the nix command, see https://github.com/hedning/nix-bash-completions/issues/20 + substituteInPlace _nix --replace 'nix nixos-option' 'nixos-option' + ''; + strictDeps = true; - # To enable lazy loading via. bash-completion we need a symlink to the script + # To enable lazy loading via bash-completion we need a symlink to the script # from every command name. installPhase = '' runHook preInstall @@ -36,8 +41,8 @@ stdenv.mkDerivation rec { description = "Bash completions for Nix, NixOS, and NixOps"; license = licenses.bsd3; platforms = platforms.all; - maintainers = with maintainers; [ hedning ]; - # Set a lower priority such that the newly provided completion from Nix 2.4 are preferred. + maintainers = with maintainers; [ hedning ncfavier ]; + # Set a lower priority such that Nix wins in case of conflicts. priority = 10; }; }