Thanks so much for the pointers, not sure I understand all the
intricacies but managed to solve all my issues with this (a bit more
manual as I was getting errors with the eval part)
--8<---------------cut here---------------start------------->8---
if status is-interactive
╎ # Commands to run in interactive sessions can go here
╎ # >>> conda initialize >>>
╎ # !! Contents within this block are managed by 'conda init' !!
╎ if test -f /home/alexis/opt/conda/bin/conda
╎ ╎ eval /home/alexis/opt/conda/bin/conda "shell.fish" "hook" $argv
| source
╎ end
╎
╎ if test -f "/home/alexis/opt/conda/etc/fish/conf.d/mamba.fish"
╎ ╎ source "/home/alexis/opt/conda/etc/fish/conf.d/mamba.fish"
╎ end
╎ # <<< conda initialize <<<
╎ fish_add_path -P -p ~/.cargo/bin
╎ fish_add_path -P -p ~/.nix-profile/bin
╎ fish_add_path -P -p ~/.guix-profile/bin
╎ fish_add_path -P -p ~/.config/guix/current/bin
end
--8<---------------cut here---------------end--------------->8---
Now the guix shell path is correctly prepended to my path!
Best,
Alexis
On 23/10/2023 02:47, Unstable Horse wrote:
On Sun, 2023-10-22 at 19:51 -0700, Alexis Simon wrote:
If people could let me know how they've managed to set up fish
properly
with guix this would be great.
I use fish as my login shell on GuixSD and this is my config.fish:
--8<---------------cut here---------------start------------->8---
if status is-login
eval "$(guix package --search-paths \
-p ~/.config/guix/current \
-p ~/.guix-profile \
-p /run/current-system/profile)"
fish_add_path -P -p ~/.local/bin
fish_add_path -P -p /run/setuid-programs
end
--8<---------------cut here---------------end--------------->8---
guix package --search-paths takes care of all the environment variables
needed for your profile, including PATH. Keep in mind that it overrides
these variables, it doesn't append. So if fish is not your login shell,
then you will need to re-apply you custom paths.
Also, if it isn't your login shell, then the is-login check should
probably be removed.