From 7902cb15bc962b23d00a8f7d27d5bebc7d34f2ac Mon Sep 17 00:00:00 2001 From: Leonardo Santiago Date: Wed, 28 May 2025 14:48:59 -0300 Subject: chore(tramp): add simple `$PS1` to handle `$TERM=dumb` case otherwise emacs' tramp mode hangs forever --- modules/basic.nix | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'modules/basic.nix') diff --git a/modules/basic.nix b/modules/basic.nix index f6e8360..e78e606 100644 --- a/modules/basic.nix +++ b/modules/basic.nix @@ -43,22 +43,26 @@ completion.enable = true; promptInit = '' - PS1="\[\033[1;95m\][\h]\[\033[0m\] \[\033[0;32m\]\w\[\033[0m\] :: " - vterm_printf() { - if [ -n "$TMUX" ] && ([ "$${TERM%%-*}" = "tmux" ] || [ "$${TERM%%-*}" = "screen" ]); then - # Tell tmux to pass the escape sequences through - printf "\ePtmux;\e\e]%s\007\e\\" "$1" - elif [ "$${TERM%%-*}" = "screen" ]; then - # GNU screen (screen, screen-256color, screen-256color-bce) - printf "\eP\e]%s\007\e\\" "$1" - else - printf "\e]%s\e\\" "$1" - fi - } - vterm_prompt_end(){ - vterm_printf "51;A$(whoami)@$(hostname):$(pwd)" - } - PS1=$PS1'\[$(vterm_prompt_end)\]' + if [[ "$TERM" == "dumb" ]] then + export PS1="> " + else + PS1="\[\033[1;95m\][\h]\[\033[0m\] \[\033[0;32m\]\w\[\033[0m\] :: " + vterm_printf() { + if [ -n "$TMUX" ] && ([ "$${TERM%%-*}" = "tmux" ] || [ "$${TERM%%-*}" = "screen" ]); then + # Tell tmux to pass the escape sequences through + printf "\ePtmux;\e\e]%s\007\e\\" "$1" + elif [ "$${TERM%%-*}" = "screen" ]; then + # GNU screen (screen, screen-256color, screen-256color-bce) + printf "\eP\e]%s\007\e\\" "$1" + else + printf "\e]%s\e\\" "$1" + fi + } + vterm_prompt_end(){ + vterm_printf "51;A$(whoami)@$(hostname):$(pwd)" + } + PS1=$PS1'\[$(vterm_prompt_end)\]' + fi ''; }; programs.direnv = { -- cgit v1.2.3