Introduction
Vanilla OS allows you to change your Default Shell to optimize your workflow. This guide will show you how to change your Default Shell to Zsh or Fish.
Note:- Changing the Default Shell isn’t recommended, and this guide is for advanced users only.
Change your Default Shell to Zsh
ABRoot
First, we need to install Zsh on the Host System with the following command:-
sudo abroot exec apt install zsh
After installing Zsh, we need to reboot the system to apply the changes. You can do this by simply running reboot
.
After rebooting the system, we need to change the Default Shell to Zsh with the following command:-
chsh -s /usr/bin/zsh
After changing the Default Shell to Zsh, we need to reboot the system to apply the changes.
The next time you open your Terminal Emulator, you will be prompted to set up Zsh.
Nix
First, we need to initialize Nix with Apx by running the following command:-
apx init --nix
After initializing Nix, we need to reboot the system to use it. You can do this by simply running reboot
.
After rebooting the system, we need to install Zsh with Nix by running the following command:-
apx install --nix zsh
After installing Zsh, we need to add the path to Zsh in /etc/shells
by following these steps:-
- Execute: sudo nano /etc/shells
- Add: `/home/<username>/.nix-profile/bin/zsh` (Note:- Replace the given placeholder with your username).
- Save and Exit.
After adding the path and saving the file, we need to change the Default Shell to Zsh with the following command:-
chsh -s /home/<username>/.nix-profile/bin/zsh
After changing the Default Shell to Zsh, we need to reboot the system to apply the changes.
The next time you open your Terminal Emulator, you will be prompted to set up Zsh.
Change your Default Shell to Fish
First, we need to install Fish on the Host System with the following command:-
sudo abroot exec apt install fish
After installing Fish, we need to reboot the system to apply the changes. You can do this by simply running reboot
.
After rebooting the system, we need to change the Default Shell to Fish with the following command:-
chsh -s /usr/bin/fish
After changing the Default Shell to Fish, we need to reboot the system to apply the changes.
The next time you open your Terminal Emulator, you will be in Fish Shell.
Nix
First, we need to initialize Nix with Apx by running the following command:-
apx init --nix
After initializing Nix, we need to reboot the system to use it. You can do this by simply running reboot
.
After rebooting the system, we need to install Fish with Nix by running the following command:-
apx install --nix fish
After installing Fish, we need to add the path to Fish in /etc/shells
by following these steps:-
- Execute: sudo nano /etc/shells
- Add: `/home/<username>/.nix-profile/bin/fish` (Note:- Replace the given placeholder with your username).
- Save and Exit.
After adding the path and saving the file, we need to change the Default Shell to Fish with the following command:-
chsh -s /home/<username>/.nix-profile/bin/fish
After changing the Default Shell to Fish, we need to reboot the system to apply the changes.
The next time you open your Terminal Emulator, you will be in Fish Shell.
Revert your Default Shell to Bash
You can run the following command to revert your Default Shell to Bash:-
chsh -s /usr/bin/bash
You will now have to reboot the system to apply the changes. You can do this by simply running reboot
.
The next time you open your Terminal Emulator, you will be in Bash Shell.
Changing Container’s Default Shell
apx
containers initialized after changing your Default Shell will use your current Shell. You can check what Shell you are using by running the following command:-
echo $SHELL
If you already initialized your containers before changing your Default Shell, you will have to reinitialize them with the following commands:-
apx init
apx init --aur
apx init --dnf
apx init --apk
Warning: This will remove all applications installed inside the container!
If you wish to use a specific Shell for your container, you can manually set the SHELL variable before creating the container with the following commands:-
env SHELL=/path/to/shell apx init
env SHELL=/path/to/shell apx init --aur
env SHELL=/path/to/shell apx init --dnf
env SHELL=/path/to/shell apx init --apk