--- Title: Teach a man to build fish, and he will have fish for a lifetime Date: 2022-03-20 Sequence: Tags:  ---
I have mixed feelings about fish, I don't like that it's incompatible with bash and I have to shift to bash relatively often just to get everything installing properly but I love the history and command completion in fish. It's in a realm of it's own. I use RHEL 7 for work and so I usually end up having to build fish from source so I can get the newest version. These are those steps so I don't have to constantly google it :)
I installed devtoolset-10 as I figured having a more modern compiler would probably also be required to build fish.
You can find those instructions at:
Once you have a more up to date toolchain you'll need to install a newer version of cmake, cmake3. RHEL comes with cmake set to 2.8.
# yum install cmake3
Then we can get fish.
Now to build it.
> cd fish > cmake3 . > make > sudo make install
Now we need to check where fish was installed.
> which fish /usr/local/bin/fish
Now update /etc/shells to let it know about fish.
> sudo vim /etc/shells
We need to add `/usr/local/bin/fish` to /etc/shells if it's not already there.
Finally, we can run chsh and make fish our new default shell!
> chsh Changing shell for nivethan. New shell [/usr/bin/bash]: /usr/local/bin/fish
With that we are done! We should now have the latest and greatest shell ready to be used :)