- autojump (Ubuntu 20.10 or earlier)
- zoxide (Ubuntu 21.04 or later)
- neofetch
- zsh
- zsh-syntax-highlighting
- zsh-autosuggestions
- cargo (Ubuntu 20.04 or earlier)
- eza (Ubuntu 20.10 or later)
- bat
(These are NOT needed for arch users - There are already arch packages for them)
- powerlevel10k
- MesloLGS NF (Powerlevel10k recommended font)
- eza (Ubuntu 20.04 or earlier)
# ---
# Ubuntu 20.04 or earlier
sudo apt install cargo
cargo install eza
# Ubuntu 20.10 or later
sudo apt install eza
# ---
# ---
# Ubuntu 20.10 or earlier
sudo apt install autojump
# Ubuntu 21.04 or later
sudo apt install zoxide
# ---
sudo apt install neofetch bat zsh zsh-syntax-highlighting zsh-autosuggestions 
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10kFor the MesloLGS NF font, it's probably better to just follow the instructions from the powerlevel10k README.
(these commands use paru to install AUR packages)
sudo pacman -S zoxide neofetch eza bat zsh zsh-syntax-highlighting zsh-autosuggestions zsh-theme-powerlevel10k
paru -S ttf-meslo-nerd-font-powerlevel10kchsh $USER -s /bin/zshThis method requires stow for creating symlinks and ed for custom .bashrc support.
Note: The automatic scripts for installing dependencies also install these packages.
sudo apt install stow edsudo pacman -S --needed stow edgit clone https://github.com/algono/dotfiles ~/dotfiles
if [ -f ~/.bashrc ]; then mv -f ~/.bashrc ~/dotfiles/bash
elif [ -f /etc/skel/.bashrc ]; then cp -f /etc/skel/.bashrc ~/dotfiles/bash
elif uname -r | grep -iq manjaro; then cp ~/dotfiles/.bash-presets/.bashrc-manjaro ~/dotfiles/bash/.bashrc
else cp ~/dotfiles/.bash-presets/.bashrc-wsl ~/dotfiles/bash/.bashrc
fi
[ -f ~/.zshrc ] && mv ~/.zshrc ~/.zshrc.bak
ed ~/dotfiles/bash/.bashrc < ~/dotfiles/.patches/bashrc-patch.ed
find ~/dotfiles/* -maxdepth 1 -name ".*" -o -type d -prune -printf "%f\n" | xargs /usr/bin/stow -d ~/dotfiles -t ~Clone repo in dotfiles directory
git clone https://github.com/algono/dotfiles ~/dotfilesIf there is a custom .bashrc (either in the user's personal folder or in the system's skel folder), use it as a base. As a fallback, if the system is detected as manjaro, use the default manjaro .bashrc, and if it wasn't use the default WSL one
if [ -f ~/.bashrc ]; then mv -f ~/.bashrc ~/dotfiles/bash 
elif [ -f /etc/skel/.bashrc ]; then cp -f /etc/skel/.bashrc ~/dotfiles/bash
elif uname -r | grep -iq manjaro; then cp ~/dotfiles/bash/.bashrc-manjaro ~/dotfiles/bash/.bashrc
else cp ~/dotfiles/bash/.bashrc-wsl ~/dotfiles/bash/.bashrc
fiIf there is a .zshrc file in the home folder, rename it (stow would fail if it finds a file there)
[ -f ~/.zshrc ] && mv ~/.zshrc ~/.zshrc.bakUse the ed command to apply the relevant changes to the custom .bashrc file (Note: You should backup
~/.bashrcfirst if you have that file, as this method has not been extensively tested and it could break it)
ed ~/dotfiles/bash/.bashrc < ~/dotfiles/.patches/bashrc.patch.edCreate symlinks for our dotfiles into the home directory (this command matches all non-hidden directories inside the 'dotfiles' folder)
find ~/dotfiles/* -maxdepth 1 -name ".*" -o -type d -prune -printf "%f\n" | xargs /usr/bin/stow -d ~/dotfiles -t ~If you already have some of the files from this repo, the last command will warn you and won't run.
Stow does not have any option to overwrite files, so you can either make backups of these files (example: mv .dotfile .dotfile.bak), or just delete them, and then re-run the last command.