Personal dotfiles managed with GNU Stow.
- macOS
- Ubuntu/Debian
- Arch/Manjaro
- git - Git configuration (user details in
~/.gitconfig.local) - zsh - Shell configuration with aliases and tools
- ghostty - Terminal emulator
- starship - Cross-shell prompt
- tmux - Terminal multiplexer with plugins
- yabai - Tiling window manager
- skhd - Hotkey daemon
- yazi - Terminal file manager
- gh - GitHub CLI
Run bootstrap script (installs prerequisites, clones repo, runs install):
bash <(curl -fsSL https://raw.githubusercontent.com/arjenbloemsma/dotfiles/trunk/bootstrap.sh)Or manually:
# Download bootstrap script
curl -fsSL https://raw.githubusercontent.com/arjenbloemsma/dotfiles/trunk/bootstrap.sh -o bootstrap.sh
chmod +x bootstrap.sh
./bootstrap.sh-
Clone repository:
git clone [email protected]:arjenbloemsma/dotfiles.git ~/dotfiles cd ~/dotfiles
-
Run install script:
./install.sh
-
Configure git user details:
# Edit ~/.config/git/config.local with your name and email -
Install tmux plugins:
# Press prefix + I (capital i) in tmux to install plugins
cd ~/dotfiles
git pull
stow --restow <package-name>cd ~/dotfiles
stow --delete <package-name>dotfiles/
├── git/
│ ├── .gitconfig # Public config
│ └── .gitconfig.local.template # Template for secrets
├── zsh/
│ └── .config/zsh/.zshrc
├── ghostty/
│ └── .config/ghostty/config
└── ...
- Secrets: Never commit secrets. Git user details go in
~/.gitconfig.local(not tracked) - Tmux plugins: Managed by TPM, not tracked in git
- Zoxide - Smarter cd command
- fzf - Fuzzy finder
- fnm - Fast Node version manager
- Fastfetch - System info display