diff options
author | Peter Simons <simons@cryp.to> | 2011-09-13 17:50:03 +0000 |
---|---|---|
committer | Peter Simons <simons@cryp.to> | 2011-09-13 17:50:03 +0000 |
commit | 9f20aa5df699f7e903551e0dedea82d947cf9a99 (patch) | |
tree | 28d31da5794c5e2ade191b70ea142ea7ec64333a /pkgs/shells | |
parent | 3c5ff4a11887d137740c4f419dfc916019078aed (diff) |
bash: install extensive completion library in the interactive version
Add the command-line completion library to the "interactive" version of bash. That code is *not* active by default. To enable it, run | . ${bash}/etc/bash_completion in your ~/.bashrc. If you prefer to build bashInteractive without that feature, use the following override in ~/.nixpkgs/config.nix to disable it: | { | packageOverrides = pkgs: | { | bashInteractive = pkgs.bashInteractive.override { | bashCompletion = null; | }; | }; | } svn path=/nixpkgs/trunk/; revision=29244
Diffstat (limited to 'pkgs/shells')
-rw-r--r-- | pkgs/shells/bash/default.nix | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix index f29d4354a06ac..e289395bc995e 100644 --- a/pkgs/shells/bash/default.nix +++ b/pkgs/shells/bash/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, readline ? null, interactive ? false, texinfo ? null, bison}: +{stdenv, fetchurl, readline ? null, interactive ? false, texinfo ? null, bison, bashCompletion ? null}: assert interactive -> readline != null; @@ -47,18 +47,22 @@ stdenv.mkDerivation rec { buildNativeInputs = [bison] ++ stdenv.lib.optional (texinfo != null) texinfo ++ stdenv.lib.optional interactive readline; - + postInstall = '' # Add an `sh' -> `bash' symlink. ln -s bash "$out/bin/sh" + '' + (if interactive && bashCompletion != null then '' + ensureDir "$out/etc" + echo >"$out/etc/bash_completion" '. "${bashCompletion}/etc/bash_completion"' + '' else '' # Install the completion examples. ensureDir "$out/etc" cp -v "examples/complete/bash_completion" "$out/etc" ensureDir "$out/etc/bash_completion.d" cp -v "examples/complete/complete.gnu-longopt" "$out/etc/bash_completion.d" - ''; + ''); meta = { homepage = http://www.gnu.org/software/bash/; @@ -79,7 +83,7 @@ stdenv.mkDerivation rec { license = "GPLv3+"; - maintainers = [ stdenv.lib.maintainers.ludo ]; + maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ]; }; passthru = { |