diff options
| author | isabel <isabel@isabelroses.com> | 2024-09-30 16:30:50 +0100 |
|---|---|---|
| committer | isabel <isabel@isabelroses.com> | 2024-10-08 10:05:26 +0100 |
| commit | c9fd4820d5e33422d2a9311898e098ba492dbd34 (patch) | |
| tree | 8cdfa47d3fc970f908523357518b996ac4afec4d /modules/programs/bash/default.nix | |
| parent | f61d5f2051a387a15817007220e9fb3bbead57b3 (diff) | |
programs/bash: move to completion.*
a port of https://github.com/NixOS/nixpkgs/pull/291552 for darwin
Diffstat (limited to 'modules/programs/bash/default.nix')
| -rw-r--r-- | modules/programs/bash/default.nix | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/modules/programs/bash/default.nix b/modules/programs/bash/default.nix index 3abb3e8..2518c9c 100644 --- a/modules/programs/bash/default.nix +++ b/modules/programs/bash/default.nix @@ -7,6 +7,10 @@ let in { + imports = [ + (mkRenamedOptionModule [ "programs" "bash" "enableCompletion" ] [ "programs" "bash" "completion" "enable" ]) + ]; + options = { programs.bash.enable = mkOption { @@ -21,14 +25,18 @@ in type = types.lines; }; - programs.bash.enableCompletion = mkOption { - type = types.bool; - default = false; - description = '' - Enable bash completion for all interactive bash shells. + programs.bash.completion = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable bash completion for all interactive bash shells. + + NOTE: This doesn't work with bash 3.2, which is installed by default on macOS by Apple. + ''; + }; - NOTE. This doesn't work with bash 3.2, which is the default on macOS. - ''; + package = mkPackageOption pkgs "bash-completion" { }; }; }; @@ -38,9 +46,9 @@ in environment.systemPackages = [ # Include bash package pkgs.bashInteractive - ] ++ optional cfg.enableCompletion pkgs.bash-completion; + ] ++ optional cfg.completion.enable cfg.completion.package; - environment.pathsToLink = + environment.pathsToLink = optionals cfg.completion.enable [ "/etc/bash_completion.d" "/share/bash-completion/completions" ]; @@ -70,9 +78,9 @@ in ${config.environment.interactiveShellInit} ${cfg.interactiveShellInit} - ${optionalString cfg.enableCompletion '' + ${optionalString cfg.completion.enable '' if [ "$TERM" != "dumb" ]; then - source "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh" + source "${cfg.completion.package}/etc/profile.d/bash_completion.sh" nullglobStatus=$(shopt -p nullglob) shopt -s nullglob |
