From the twitter discussion with fnm author, shell inference seems to be
slow. Passing the shell to use manually seems to speed this up.
fnm env --log-level=quiet | source
Executed in 534.50 millis fish external
usr time 0.62 millis 620.00 micros 0.00 millis
sys time 4.76 millis 0.00 micros 4.76 millis
fnm env --shell=fish --log-level=quiet | source
Executed in 1.51 millis fish external
usr time 1.06 millis 0.00 micros 1.06 millis
sys time 0.58 millis 579.00 micros 0.00 millis
Also, see the github issue
https://github.com/Schniz/fnm/issues/621
- Drop starship. This also helps us to get rid of ttf-font-nerd install
which is a dependency of starship.
- Source fnm env only once on login. This makes fish shell/terminal load
much much faster. Add an alias to invoke fnm use easily.
- Set path or environment variables only when required path or binary
exists.
- Introduce a function to profile fish easily.
- Borrow the fish prompt logic from Alexis King's configuration.
- Factor out key binding related settings.
- Make su launch fish.
Prompt and other ideas for clean up taken from
https://github.com/lexi-lambda/dotfiles/tree/master/fish