_ _ _ _ __ _ _
| | _(_) ___ ___ ___ ___ __| | ___ | |_ / _(_) | ___ ___
| |/ / |/ _ \ / _ \/ __/ __| / _` |/ _ \| __| |_| | |/ _ \/ __|
| <| | (_) | (_) \__ \__ \ | (_| | (_) | |_| _| | | __/\__ \
|_|\_\_|\___/ \___/|___/___/ \__,_|\___/ \__|_| |_|_|\___||___/My personal dotfiles for macOS.
Editor is Neovim, shell is zsh + oh-my-zsh, multiplexer is tmux. Terminal is Ghostty or kitty.
There is no build step — deploy is a symlink farm into $HOME plus a
Homebrew install pass.
git clone https://github.com/kiooss/dotmagic.git ~/.dotfiles
cd ~/.dotfiles
git submodule update --init --recursive
brew bundle --file=Brewfile # macOS packages (installs Homebrew deps)
bin/dotlink sync # symlink configs into $HOME and ~/.configLanguage toolchains (rbenv, pyenv, oh-my-zsh) are not auto-installed — install
them as needed; rbenv/ruby-build are already in the Brewfile.
cd ~/.dotfiles
git pull --rebase --autostash origin master
git submodule update --init --recursiveThe upgrade_dotfiles zsh function (from dotconfig/zsh/lib/functions.zsh)
runs these two steps for you.
bin/dotlink is the symlink engine:
dotlink sync [--force]— link all configs into$HOMEand~/.configdotlink add <tool> [--mac]— adopt an existing~/.config/<tool>/into the repodotlink unlink <tool>— move it back out