From dff88ee954049f174e78f062c55a7a2a98d4db19 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 14 Oct 2018 08:39:36 -0500 Subject: [PATCH] bash: do not evaluate completions on dumb terminals --- modules/programs/bash/default.nix | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/modules/programs/bash/default.nix b/modules/programs/bash/default.nix index 542b1e2..1dd818d 100644 --- a/modules/programs/bash/default.nix +++ b/modules/programs/bash/default.nix @@ -75,17 +75,19 @@ in ${cfg.interactiveShellInit} ${optionalString cfg.enableCompletion '' - source "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh" + if [ "$TERM" != "dumb" ]; then + source "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh" - nullglobStatus=$(shopt -p nullglob) - shopt -s nullglob - for p in $NIX_PROFILES; do - for m in "$p/etc/bash_completion.d/"* "$p/share/bash-completion/completions/"*; do - source $m + nullglobStatus=$(shopt -p nullglob) + shopt -s nullglob + for p in $NIX_PROFILES; do + for m in "$p/etc/bash_completion.d/"* "$p/share/bash-completion/completions/"*; do + source $m + done done - done - eval "$nullglobStatus" - unset nullglobStatus p m + eval "$nullglobStatus" + unset nullglobStatus p m + fi ''} # Read system-wide modifications.