Skip to content

rsync when using starship #6419

Open
Open
@fe2-Nyxar

Description

Current Behavior

i ran the command rsync to copy some files remotely:
rsync -avz ~/logs.txt nyxar@nixos:~/Documents
and i get the error:

[ERROR] - (starship::print): Under a 'dumb' terminal (TERM=dumb).
protocol version mismatch -- is your shell clean?
(see the rsync manpage for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(622) [sender=3.3.0]

Expected Behavior

should work, I guess

Additional context/Screenshots

one thing is that I have a system running on TTY only, but I have a terminal emulator (kitty) installed so I can ssh to it without running into compatibility issues, thing enables me to use starship, but i guess that might be the issue

I've tried to launch bash with not config, and the issue persist

bash --norc
bash-5.2$ rsync -avz logs.txt nyxar@nixos:~/Documents/
(nyxar@nixos) Password: 
[ERROR] - (starship::print): Under a 'dumb' terminal (TERM=dumb).
protocol version mismatch -- is your shell clean?
(see the rsync manpage for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(622) [sender=3.3.0]

then, i've tried the other way around and it worked:

rsync -avz baryon@serverless:~/logs.txt ~/Documents/
(baryon@serverless) Password: 
receiving incremental file list
logs.txt

sent 43 bytes  received 5.015 bytes  778,15 bytes/sec
total size is 21.189  speedup is 4,19

Possible Solution

Environment

  • Starship version: 1.19.0
  • fish version: fish, version 3.7.1
  • Operating system: NixOS 24.5.0
  • Terminal emulator:
  • Git Commit Hash:
  • Branch/Tag:
  • Rust Version: rustc 1.77.2 (25ef9e3d8 2024-04-09) (built from a source tarball)
  • Rust channel: release
  • Build Time: 1980-01-01 00:00:00 +00:00

Relevant Shell Configuration

if status is-interactive
    # Commands to run in interactive sessions can go here
    set -g fish_greeting ""
    fastfetch
end


alias nixosconfig='cd /etc/nixos; sudo nvim . ; cd -'
alias nvimconfig='cd ~/.config/nvim;nvim . ; cd -'
alias ls="eza --icons=always --color=always -l --no-filesize"
alias tree="eza --tree --icons=always --color=always -l --no-filesize"
# default man is neovim
set -gx MANPAGER 'nvim +Man!'
# default code editor
set -gx EDITOR "nvim"
set -gx VISUAL "nvim"

# DANGER: -- keybinds --

#function toggleViMode
#    if test "$fish_key_bindings" = "fish_vi_key_bindings"
#        fish_vi_key_bindings 
#    else
#        fish_default_key_bindings 
#    end
#    
#end
#
#bind \ck toggleViMode


function aj
    cd (autojump $argv)
end


function sudo
    if test "$argv[1]" = "nvim"
        command sudo -Es $argv
    else
        command sudo $argv
    end
end

function wttr
    if test $argv = ""
        curl "wttr.in/fes"
    else
        curl "wttr.in/$argv"
    end
end
set -e FZF_DEFAULT_OPTS
#eval "$(fzf --fish)"

# --- setup fzf theme ---
set purple "#B388FF"
set dimmed_purple "#6D4DC1"
set green "#b1f2a7"
set yellow "#ebde76"

set -x FZF_DEFAULT_OPTS "--color=hl:$dimmed_purple,hl+:$dimmed_purple,info:$green,prompt:$yellow,pointer:$yellow,marker:$yellow,spinner:$yellow,header:$yellow,fg+:$green"

set -x FZF_DEFAULT_COMMAND "fd --hidden --strip-cwd-prefix --exclude .git"
#NOTE: use ctrl + t for file search and alt + c for directory search
set -x FZF_CTRL_T_COMMAND "$FZF_DEFAULT_COMMAND"
set -x FZF_ALT_C_COMMAND "fd --type=d --hidden --strip-cwd-prefix --exclude .git"
#NOTE: this for fzf and the selected file will be used in neovim
alias fzfnvim="fd --hidden --strip-cwd-prefix --exclude .git | fzf | xargs -r nvim"

# Use fd (https://github.com/sharkdp/fd) for listing path candidates.
# - The first argument to the function ($1) is the base path to start traversal
# - See the source code (completion.{bash,zsh}) for the details.
function _fzf_compgen_path
  fd --hidden --exclude .git . "$argv"
end

# Use fd to generate the list for directory completion
function _fzf_compgen_dir
  fd --type=d --hidden --exclude .git . "$argv"
end

set -x BAT_THEME "base16"


# ------ Eza ------
set -x FZF_CTRL_T_OPTS "--preview 'bat -n --color=always --line-range :500 {}'"
set -x FZF_ALT_C_OPTS "--preview 'eza --tree --color=always {} | head -200'"

# Advanced customization of fzf options via _fzf_comprun function
# - The first argument to the function is the name of the command.
# - You should make sure to pass the rest of the arguments to fzf.
function _fzf_comprun
  set command $argv[1]
  set argv $argv[2..-1]

  switch $command
    case 'cd'
      fzf --preview 'eza --tree --color=always {} | head -200' $argv
    case 'export' 'unset'
      fzf --preview "eval 'echo \$'{}" $argv
    case 'ssh'
      fzf --preview 'dig {}' $argv
    case '*'
      fzf --preview "bat -n --color=always --line-range :500 {}" $argv
  end
end

starship init fish | source

Starship Configuration

add_newline = true
command_timeout = 1300
format = "$all$nix_shell$nodejs$lua$golang$rust$php$git_branch$git_commit$git_state$git_status\n$username$hostname$directory"
scan_timeout = 50

[character]
error_symbol = "[✗](bold red) "
format = "$symbol "
success_symbol = "[](bold green) "
vicmd_symbol = "[](bold dimmed #ff79c6)"
vimcmd_replace_one_symbol = "[](bold dimmed cyan)"
vimcmd_replace_symbol = "[](bold dimmed purple)"
vimcmd_visual_symbol = "[](bold dimmed yellow)"

[directory]
before_repo_root_style = "bold #f2cf6f"
format = "[$path]($style)[$read_only]($read_only_style)[\\]\\$](bold #f26fa1) "
read_only = " 󰈈 "
read_only_style = "bold #eeef8b"
repo_root_format = "[$before_root_path]($before_repo_root_style)[$repo_root]($repo_root_style)[$path]($repo_root_style)[$read_only]($read_only_style)[\\]\\$](bold #f26fa1) "
repo_root_style = "bold #f2cf6f"
style = "bold #a4caea"
truncation_length = 2
use_os_path_sep = true

[git_branch]
format = "[$symbol$branch(:$remote_branch)]($style) "
style = "#fc937b"
symbol = ""

[git_commit]
format = "[($hash$tag)]($style) "
style = "#edb46a"
tag_symbol = "󰜝 "

[git_state]
format = "([󱇯 $state( $progress_current/$progress_total)]($style)) "
style = "bold #f9ce31"

[git_status]
format = "([$all_status$ahead_behind](bold #edb46a) )"
up_to_date = "✓(bold dimmed #82f2a4)"

[golang]
format = "[󰟓 ($version )($mod_version )](bold dimmed #00ADD8)"

[hostname]
disabled = false
format = "[$ssh_symbol](blue dimmed bold)[$hostname]($style) "
ssh_only = false
style = "bold #8bc5ef"

[lua]
format = "[ $version](bold blue) "

[nix_shell]
disabled = false
format = "[$state(($name))]($style) "
impure_msg = "[ ](bold red)"
pure_msg = "[ ](bold blue)"
style = "bold blue"

[nodejs]
format = "[ ($version )](bold green)"

[php]
format = "[ $version](147 bold) "

[username]
format = "[\\[](bold #f26fa1)[$user]($style)[@](bold #f26fa1)"
show_always = true
style_root = "bold red"
style_user = "bold #bba8ed"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    🐛 bugSomething isn't working as expected.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions