Package: fish Version: 3.3.1+ds-2 Severity: important X-Debbugs-Cc: dkm+deb...@kataplop.net
Dear Maintainer, It seems that something is not behaving correctly wrt login shell. I have a very simple config: - ~/.config/fish/conf.d/arrakis.fish that add paths using fish_add_path - ~/.config/fish/config.fish that uses a command located in one of the path added before In a login shell, the PATH is reset in between, leading to the command not being found and all children having an incorrect $PATH (in my case, sway can't find anything located in my custom paths). Here's a comparison with upstream package using the same 3.3.1 version: ❯ fish -l in conf.d, before PATH: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin /usr/local/bin /usr/bin /bin /usr/local/games /usr/games in conf.d, before fish_user_path: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin in conf.d, after PATH: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin /usr/local/bin /usr/bin /bin /usr/local/games /usr/games in conf.d, after fish_user_path: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin in config.fish PATH: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin /usr/local/bin /usr/bin /bin /usr/local/games /usr/games in config.fish fish_user_path: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin With current sid package: ❯ fish -l in conf.d, before PATH: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin /usr/local/bin /usr/bin /bin /usr/local/games /usr/games in conf.d, before fish_user_path: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin in conf.d, after PATH: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin /usr/local/bin /usr/bin /bin /usr/local/games /usr/games in conf.d, after fish_user_path: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin in config.fish PATH: /usr/local/bin /usr/bin /bin /usr/local/games /usr/games in config.fish fish_user_path: /home/dkm/.fzf/bin /home/dkm/.cargo/bin /home/dkm/local/bin fish: Unknown command: starship You can see that $PATH is changed after processing the file in conf.d and before processing config.fish. Here are the 2 config file: config.fish: --- echo in config.fish PATH: $PATH echo in config.fish fish_user_path: $fish_user_paths starship init fish | source --- arrakis.fish: --- echo in conf.d, before PATH: $PATH echo in conf.d, before fish_user_path: $fish_user_paths fish_add_path $HOME/local/bin fish_add_path $HOME/.cargo/bin fish_add_path $HOME/.fzf/bin echo in conf.d, after PATH: $PATH echo in conf.d, after fish_user_path: $fish_user_paths --- Current workaround: - move fish_add_path in config.fish - use fish_add_path -P (default is not enough and yields same result as original config) The upstream packages fish=3.3.1-1 fish-common=3.3.1-1 work as expected with the original configuration. Thank you, Marc -- System Information: Debian Release: bookworm/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.15.0-2-amd64 (SMP w/12 CPU threads) Kernel taint flags: TAINT_CPU_OUT_OF_SPEC Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages fish depends on: ii bsdextrautils 2.37.2-4 ii firefox [www-browser] 95.0-1 ii fish-common 3.3.1+ds-2 ii groff-base 1.22.4-7 ii libc6 2.32-5 ii libpcre2-32-0 10.39-3 ii libstdc++6 11.2.0-12 ii libtinfo6 6.3-1 ii man-db 2.9.4-2 ii python3 3.9.8-1 ii w3m [www-browser] 0.5.3+git20210102-6 Versions of packages fish recommends: ii xsel 1.2.0+git9bfc13d.20180109-3 Versions of packages fish suggests: pn doc-base <none> -- no debconf information