My personal configuration files - a simple backup for when I get a new machine or need to restore settings.
.zshrc- Shell configuration (Oh My Zsh, aliases, modern CLI tools).vimrc- Vim editor configuration with plugins.gitconfig- Git settings with Delta for pretty diffs.cli-tools-cheatsheet.md- Quick reference for modern CLI toolsbtop.conf- System monitor configurationopencode.json.template- OpenCode editor settings (template)settings.json.template- Zed editor settings (template)cursor-settings.json- Cursor IDE settings (formatters, theme, etc.)cursor-keybindings.json- Cursor custom keybindingsssh.config- SSH configuration
# Clone the repo
git clone https://github.com/shayaansultan/dotfiles.git
cd dotfiles
# Copy configs to home directory
cp .zshrc ~/
cp .vimrc ~/
cp .gitconfig ~/
cp .cli-tools-cheatsheet.md ~/
cp ssh.config ~/.ssh/config
# Copy btop config
mkdir -p ~/.config/btop
cp btop.conf ~/.config/btop/
# For configs with API keys, use templates
mkdir -p ~/.config/opencode ~/.config/zed
cp opencode.json.template ~/.config/opencode/opencode.json
cp settings.json.template ~/.config/zed/settings.json
# Cursor settings
mkdir -p ~/Library/Application\ Support/Cursor/User
cp cursor-settings.json ~/Library/Application\ Support/Cursor/User/settings.json
cp cursor-keybindings.json ~/Library/Application\ Support/Cursor/User/keybindings.json
# Then edit and add your actual API keys:
vim ~/.config/opencode/opencode.json
vim ~/.config/zed/settings.json- Files with
.templatesuffix need your API keys added after copying - Actual config files with secrets are gitignored and never committed
- Your API keys stay local only
Modern CLI tools configured in these dotfiles:
- Shell: zsh with Oh My Zsh
- Navigation:
eza(ls),fd(find),zoxide(smart cd) - Search:
rg(grep),fzf(fuzzy finder) - Git:
lazygit,delta - Viewers:
bat(cat),btop(system monitor) - Editor: vim with NERDTree, fzf, ALE
When you update your configs locally:
cd ~/Desktop/dotfiles
cp ~/.zshrc .
cp ~/.vimrc .
cp ~/.gitconfig .
cp ~/.config/btop/btop.conf .
cp ~/.ssh/config ssh.config
cp ~/Library/Application\ Support/Cursor/User/settings.json cursor-settings.json
cp ~/Library/Application\ Support/Cursor/User/keybindings.json cursor-keybindings.json
git add -u
git commit -m "Update configs"
git pushSimple backup approach - no fancy symlinks, just copy paste when needed!