A minimal, opinionated zsh environment for macOS.
What's included: zsh with a 10M-line history, Starship prompt, Antidote plugin manager, zoxide smart navigation, fzf fuzzy finder, and a tmux base config.
How it works: files live in the repo. Symlinks point from ~/ into the repo. Existing files are backed up before anything is replaced. Run ./uninstall.sh to undo.
Clone wherever you keep your projects, then run from there:
git clone https://github.com/asakin/dotfiles.git ~/projects/dotfiles
~/projects/dotfiles/setup.sh
~/projects/dotfiles/install.sh
source ~/.zshrcinstall.sh self-detects its own location, so the clone path can be anywhere — adjust the commands accordingly. (Recommended: ~/projects/dotfiles/.)
| File | Symlinked to |
|---|---|
home/.zshrc |
~/.zshrc |
home/.zsh_plugins.txt |
~/.zsh_plugins.txt |
home/.config/starship.toml |
~/.config/starship.toml |
home/.tmux.conf |
~/.tmux.conf |
Tools installed by setup.sh: starship, zoxide, fzf. Antidote is bootstrapped automatically on first source ~/.zshrc.
Add plugins: edit ~/.zsh_plugins.txt (the symlink). Changes apply on next shell start.
Customize the prompt: edit ~/.config/starship.toml. See starship.rs/config.
Personal aliases / overrides: create ~/.zshrc.local. The base .zshrc already sources it on shell start ([ -f ~/.zshrc.local ] && source ~/.zshrc.local). The personal layer in asakin/sakinrc symlinks this file.
cd ~/projects/dotfiles && git pullSymlinks don't need re-creation after pulling. Files update in place.
~/projects/dotfiles/uninstall.shRemoves symlinks and restores any backed-up originals. The repo itself is left in place — rm -rf ~/projects/dotfiles if you want a clean slate.
This repo is the generic base. Personal tools, aliases, hotkeys, AI integrations live in asakin/sakinrc, which builds on top. Install dotfiles first, then sakinrc.
Stripped-down on purpose. No AWS, no cloud CLIs, no AI integrations. Those belong in your own layer on top.
MIT