aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix')
-rw-r--r--nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix b/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix
new file mode 100644
index 00000000000..affbd219958
--- /dev/null
+++ b/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ version = "0.6.7";
+ pname = "nix-bash-completions";
+
+ src = fetchFromGitHub {
+ owner = "hedning";
+ repo = "nix-bash-completions";
+ rev = "v${version}";
+ sha256 = "067j1gavpm9zv3vzw9gq0bi3bi0rjrijwprc1j016g44kvpq49qi";
+ };
+
+ # To enable lazy loading via. bash-completion we need a symlink to the script
+ # from every command name.
+ installPhase = ''
+ commands=$(
+ function complete() { shift 2; echo "$@"; }
+ shopt -s extglob
+ source _nix
+ )
+ install -Dm444 -t $out/share/bash-completion/completions _nix
+ cd $out/share/bash-completion/completions
+ for c in $commands; do
+ ln -s _nix $c
+ done
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/hedning/nix-bash-completions;
+ description = "Bash completions for Nix, NixOS, and NixOps";
+ license = licenses.bsd3;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ hedning ];
+ };
+}