Skip to content

kiooss/dotmagic

Repository files navigation

DOTMAGIC

 _    _                           _       _    __ _ _
| | _(_) ___   ___  ___ ___    __| | ___ | |_ / _(_) | ___  ___
| |/ / |/ _ \ / _ \/ __/ __|  / _` |/ _ \| __| |_| | |/ _ \/ __|
|   <| | (_) | (_) \__ \__ \ | (_| | (_) | |_|  _| | |  __/\__ \
|_|\_\_|\___/ \___/|___/___/  \__,_|\___/ \__|_| |_|_|\___||___/

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.

Install

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 ~/.config

Language toolchains (rbenv, pyenv, oh-my-zsh) are not auto-installed — install them as needed; rbenv/ruby-build are already in the Brewfile.

Upgrade

cd ~/.dotfiles
git pull --rebase --autostash origin master
git submodule update --init --recursive

The upgrade_dotfiles zsh function (from dotconfig/zsh/lib/functions.zsh) runs these two steps for you.

Linking

bin/dotlink is the symlink engine:

  • dotlink sync [--force] — link all configs into $HOME and ~/.config
  • dotlink add <tool> [--mac] — adopt an existing ~/.config/<tool>/ into the repo
  • dotlink unlink <tool> — move it back out

License

MIT

About

★ Manage my dotfiles, with just one command.

Topics

Resources

License

Stars

6 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors