⚠️ WARNING⚠️ - Proceed at your own risk.The setup here have been tweaked to cater my personal workflow. They don't suit everyone, so please review the code to make sure the dotfiles fit your setup.
First, install mise, which will drive everything:
curl https://mise.run | shThen, run bootstrap:
mise bootstrap --from https://github.com/pmmmwh/dotfiles.git --yesPersonal Stuff
On my personal machines, -E personal is added to pull in extra apps and tools:
mise -E personal bootstrap --from https://github.com/pmmmwh/dotfiles.git --yesThis will install system packages, clone Zsh plugins, link the dotfiles, write macOS defaults and install tool chains.
macOS Settings
Some macOS settings cannot be expressed in mise, and they are applied as a separate step:
mise run macos-settings| Where | What |
|---|---|
mise.toml |
Machine setup - dotfiles, plugin repos, packages, defaults |
mise.personal.toml |
Same as above, for personal machines |
config/mise/config.toml |
Tools available everywhere, symlinked to ~/.config/mise |
config/mise/config.personal.toml |
Sams as above, for personal machines |
@macos/Brewfile |
Casks, App Store apps, and formulae from taps mise can't pour |
@macos/settings.zsh |
Privileged, host-scoped and collection-valued macOS settings |
Anything under @ is operating-system specific;
anything under _ is not linked anywhere.
mise bootstrap statusThis will report every managed part.
If you only care about one, you can use the narrower commands:
mise bootstrap dotfiles status
mise bootstrap packages status
mise bootstrap macos defaults statusTo exit with non-zero when something is out of sync, add --missing to the commands.
Any .zsh file inside .zshcustom is sourced at startup.
If you have machine-local values that should not be committed,
you can utilise unmanaged Zsh files in the directory (e.g. ~/.zshcustom/extras.zsh).
mise bootstrap dotfiles unapplyThis will remove all symlinks mise created, but not revert any installed packages and tools, or any applied macOS defaults.
If you need to uninstall packages:
brew uninstall- Github does dotfiles
- Dotfiles by @mathiasbynens,
which is an amazing starting point for custom dotfiles
(also contains the amazing
~/.macosscript!) - Dotfiles by @driesvints,
which introduced me to tools like
masto manage apps - Dock.sh by @kamui545, which is used here to programmatically setup the macOS Dock