My BETA dotfiles for Ubuntu 20.04, Zsh, Oh My Zsh, TMUX, and NVim. Based on the RCM dotfile framework. This project is in development mode, so you may encounter bugs. Please don't use this if you're not familiar with these tools.
sudo apt update -y \
&& sudo apt upgrade -y \
&& sudo apt autoremove -y \
&& sudo apt install -y rcm
# Create local dotfiles directory
mkdir -p ~/dotfiles-local
# Create example local dotfiles
touch ~/dotfiles-local/gitconfig.local
touch ~/dotfiles-local/aliases.local
# Clone dotfiles repository
git clone https://github.com/jesuserro/dotfiles.git ~/dotfiles
# Install the dotfiles (create symlinks)
env RCRC=$HOME/dotfiles/rcrc rcup
After the initial installation, you can run rcup
without setting the RCRC
environment variable. This command will create symlinks for config files in your home directory:
rcup
To link any new files and install new vim plugins:
rcup
source ~/.zshrc
pkill -f tmux
You can add vim support by doing this:
touch ~/.vim
mkrc ~/.vim
rcup
For more information on adding new files, visit RCM Documentation.
Create a directory for your personal customizations:
mkdir -p ~/dotfiles-local
Put your customizations in ~/dotfiles-local
appended with .local
:
~/dotfiles-local/aliases.local
~/dotfiles-local/gitconfig.local
~/dotfiles-local/tmux.conf.local
~/dotfiles-local/vimrc.local
~/dotfiles-local/zshrc.local
Edit your ~/dotfiles/zshrc
like this:
# Powerlevel10k instant prompt
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# Oh My Zsh configuration
export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="powerlevel10k/powerlevel10k"
plugins=(
git
colorize
colored-man-pages
history
dirhistory
jsontools
zsh-autosuggestions
zsh-syntax-highlighting
autoupdate
vi-mode
)
source $ZSH/oh-my-zsh.sh
# User configuration
[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local
[[ -f ~/.aliases ]] && source ~/.aliases
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
Here are some popular plugins to enhance your Oh My Zsh
experience:
Plugin | Git Command | Description |
---|---|---|
zsh-autosuggestions | git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions |
Suggests commands based on history as you type. |
zsh-syntax-highlighting | git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting |
Highlights syntax in your command line. |
zsh-completions | git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-completions |
Provides additional completions for many commands. |
zsh-history-substring-search | git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-history-substring-search |
Searches your command history by substring. |
z | git clone https://github.com/rupa/z ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/z |
Quickly navigates to directories you use frequently. |
zsh-nvm | git clone https://github.com/lukechilds/zsh-nvm ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-nvm |
Manages Node.js versions. |
autoupdate | git clone https://github.com/TamCore/autoupdate-oh-my-zsh-plugins ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/autoupdate |
Automatically updates oh-my-zsh and its plugins. |