- Personal dotfiles for macOS system and app configurations
- Managed as a bare Git repository for direct tracking in
$HOME
This repository uses the bare repo method for dotfile management:
- Git directory:
~/.dotfiles.git/ - Work tree:
$HOME - Fish functions:
dots(git wrapper),ldots(lazygit wrapper)
git clone --bare https://github.com/barlevalon/dotfiles.git $HOME/.dotfiles.git
alias dots='git --git-dir=$HOME/.dotfiles.git/ --work-tree=$HOME'
alias ldots='lazygit --git-dir=$HOME/.dotfiles.git/ --work-tree=$HOME'
dots checkout [branch]
dots config --local status.showUntrackedFiles no
dots config --local remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"dots status- Check status of tracked filesdots add <file>- Track a new config filedots commit -m "message"- Commit changesdots push- Push to remotedots pull- Pull latest changesldots- Open lazygit for visual management
Configuration files are organized by application:
aerospace/- AeroSpace window manager confignvim/- Neovim configuration (detailed config here)fish/- Fish shell configtmux/- Terminal multiplexer configghostty/- Ghostty terminal configraycast/- Raycast app configstarship/- Starship prompt config.Brewfile- Homebrew packages list- etc.
Each directory contains files that will be placed in the appropriate location in $HOME (usually under .config/).
packages/Brewfile- Contains all Homebrew packages, casks, and Mac App Store appsbrew bundle- Install all packages from Brewfilebrew bundle dump- Update Brewfile with currently installed packages