This repository holds my personal zsh configuration files. The idea behind this is to have a consistent shell experience across all my devices. I use zsh as my default shell and I have a few plugins and customizations to make my life easier.
git clone https://github.com/AmnezziaCS/dotfiles.git ~/workspace/dotfiles
sudo apt install zsh
# in ubuntu the path is /usr/bin/zsh
chsh -s $(which zsh)
ln -s ~/workspace/dotfiles/.zshrc ~/.zshrc
ln -s ~/workspace/dotfiles/.config/starship.toml ~/.config/starship.toml
ln -s ~/workspace/dotfiles/.config/starship.toml ~/.config/starship.toml
Download the font from the NerdFont website or use the following link: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Hack.zip
# exa is a modern replacement for ls
sudo apt install exa
# fzf is a command-line fuzzy finder
sudo apt install fzf
# atuin is a command-line shell history visualizer
curl --proto '=https' --tlsv1.2 -sSf https://setup.atuin.sh
# starship is a minimalistic, fast and customizable prompt
curl -sS https://starship.rs/install.sh | sh
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
source ~/.zshrc
ln -s ~/workspace/dotfiles/vscode/settings.json ~/.config/Code/User/settings.json -f
ln -s ~/workspace/dotfiles/vscode/keybindings.json ~/.config/Code/User/keybindings.json -f
Since I sometimes have to work on plain Windows machines without WSL. I heavily rely on git bash to get a more unix-like experience. The documentation for my .bashrc
file can be found here.
Create a symlink:
ln -s {original_file_path} {target_file_path}
Override zsh configuration:
source {path_to_.zshrc}