summary refs log tree commit diff
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2022-12-22 11:08:47 +0100
committerNaïm Favier <n@monade.li>2022-12-22 13:14:11 +0100
commitcd5d9f62066a93b4a0c8169c2fa9f092faf8248b (patch)
tree269c0f9160d73ed09d7a811b7f528ae25ff0e383
parentcd39b90b6f5c7333116c75b1cb9a132cf2d56714 (diff)
downloadnixpkgs-cd5d9f62066a93b4a0c8169c2fa9f092faf8248b.tar
nixpkgs-cd5d9f62066a93b4a0c8169c2fa9f092faf8248b.tar.gz
nixpkgs-cd5d9f62066a93b4a0c8169c2fa9f092faf8248b.tar.bz2
nixpkgs-cd5d9f62066a93b4a0c8169c2fa9f092faf8248b.tar.lz
nixpkgs-cd5d9f62066a93b4a0c8169c2fa9f092faf8248b.tar.xz
nixpkgs-cd5d9f62066a93b4a0c8169c2fa9f092faf8248b.tar.zst
nixpkgs-cd5d9f62066a93b4a0c8169c2fa9f092faf8248b.zip
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.
-rw-r--r--pkgs/shells/bash/nix-bash-completions/default.nix11
1 files 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 c4282ab0f64..af516a1bcaa 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;
   };
 }