Dont own a steam deck, but at a guess you might be able to add the terminal lines to change shells to you bashrc, should load it in on first start and then fish will be default from then on.
Steam Deck
A place to discuss and support all things Steam Deck.
Replacement for r/steamdeck_linux.
As Lemmy doesn't have flairs yet, you can use these prefixes to indicate what type of post you have made, eg:
[Flair] My post title
The following is a list of suggested flairs:
[Discussion] - General discussion.
[Help] - A request for help or support.
[News] - News about the deck.
[PSA] - Sharing important information.
[Game] - News / info about a game on the deck.
[Update] - An update to a previous post.
[Meta] - Discussion about this community.
Some more Steam Deck specific flairs:
[Boot Screen] - Custom boot screens/videos.
[Selling] - If you are selling your deck.
These are not enforced, but they are encouraged.
Rules:
- Follow the rules of Sopuli
- Posts must be related to the Steam Deck in an obvious way.
- No piracy, there are other communities for that.
- Discussion of emulators are allowed, but no discussion on how to illegally acquire ROMs.
- This is a place of civil discussion, no trolling.
- Have fun.
Ah, sorry, I realized that fish
is already installed by default. Same about zsh
. So no additional steps needed, I just changed my default shell for my user and it works.
I think you can install fish from the discover store, which will persist between updates. You may need to also update its permissions through flatseal so that it has full file system access.
Some other options for packages are to install them through nix or distrobox. There's also a set of commands for installing a package locally, but I would have to look it up. It involves setting a temporary cache directory, downloading the package there without installing it, and then installing the contents of cache to a folder in user-space.
It's not on flathub, so it won't show up in discover.
Generally, it doesn't have command line programs, just gui ones
Ok, I knew I had fish installed on my LCD deck which is why I was thinking it was available through discover. I must have installed it through distrobox instead.
Simplest answer would be to launch Fish as the last step in your bash profile.
I imagine the SteamOS update process probably needs the default system shell to be bash, (if they're changing it with each update) but that won't stop you from getting the benefits of Fish during your login terminal sessions.
Source: I don't like bash much, but have encountered other cases where changing the default shell was too invasive. It's about an 80% solution, and the next 15% is covered well enough by invoking my preferred shell before invoking my script written for my preferred shell.
There are only two system partitions, you might only have to make the change twice
you might have to do https://wiki.archlinux.org/title/Command-line_shell#Changing_your_default_shell after every update. Maybe put it in a shell script and make .bashrc execute it, so that it switches your default to fish, after it has been reset to bash. This script could also be used to reinstall fish after the update.
I don't have an answer for your specific question (you can easily find out testing such a scenario on docker on your personal computer), but you should look into bazzite and use either brew or if you feel adventurous enough use package layering to add fish to the image.