Fish shell notes

One of my things to try in 2025, is to use fish shell :slight_smile: so I started to use it. One of first hurdle for me is to not able to use it to do yoe distro work. However, I found a good way to get going.

On archlinux

sudo pacman -S fish fisher

fisher is plugin/package manager for fish shell, there are other options but I chose fisher, I don’t know why.

There is a nice plugin called bass which can be used to source shell environment written for bash so I installed that

and started fish shell. Once in fish shell install the plugin

kraj@apollo /m/b/y/master (kraj/master)> fisher install edc/bass

Set up the yoe build environment

kraj@apollo /m/b/y/master (kraj/master)> bass . ./envsetup.sh qemuriscv32
reading local settings
Setting PROJECT=qemuriscv32
Setting MACHINE=qemuriscv32
/mnt/b/yoe/master/conf/auto.conf has been updated
kraj@apollo /m/b/y/master (kraj/master)> bitbake yoe-simple-image

and the build starts !!!

Now I think I can stick with fish for a bit longer. I will keep sharing my findings

1 Like

I wanted to set it launch on interactive shell mode only, since I am not sure how it will impact if I change system-wide default shell ( I use zsh for that ), since I use zellij for most of work, I resorted to setting the default shell for zellij to be fish
by adding it to ~/.config/zellij/config.kdl

default_shell "fish"

For terminal I am using Alacritty, it can be made default shell in alacritty too
add to ~/.config/alacritty/alacritty.toml

[terminal]
shell = { program = "/usr/bin/fish", args = ["-l"] }

A good list of plugins

https://github.com/topics/fish-plugin

Great information.

I tried out bass and it does not seem like I can run the yoe_ ... functions. Do you have a solution for this yet?

yeah, I could not run the yoe_* functions, although bitbake <target> works perhaps we should turn the shell functions into python or something other than shell scripts in long run.