These are my dotfiles for OSX Sonoma. There are many like them, but these ones are mine.
Previous versions of this repo (archived) can be found here:
- https://github.com/jansroka/dotfiles-osx-monterey (OSX 12)
- https://github.com/jansroka/dotfiles-osx-ventura (OSX 13)
- super simple setup
- uses ansible and is idempotent
- keeps
~/
clean
- brew
- configures homebrew includings casks & Microsoft Office
- dock
- configures your OSX dock
- docker
- purges dangling and unnecessary images, containers, images
- duti
- sets default app associations via
duti
- sets default app associations via
- gem
- sets up and maintains my default gems
- hazel
- ensures basic Hazel.app settings
- iterm
- ensures our own preferences file is used
- maintenance
- runs a few maintenance tasks like repairPermissions, verifyVolume
- mas
- takes care of apps installed via Mac App Store
- npm
- installs the global npm packages that I use
- osx
- sets lots of defaults for OSX and OSX apps
- pip
- installs and maintains pip modules
- sublime-text
- installs sublime text via brew cask & symlinks preferences
- symlinks
- softlinks a bunch of config files in to
~/
- softlinks a bunch of config files in to
You’ll need the following dependencies before getting started.
- Ansible
- Homebrew
- Xcode
At the time of writing it’s possible to get all three like so:
xcode-select --install
ruby -e "$(curl -fsSL https://github.com/raw/Homebrew/install/master/install)"
brew install ansible
Run this:
curl -L https://raw.github.com/jansroka/dotfiles/master/bin/setup.sh | bash
This sets up a few things and then runs ansible-playbook -i hosts dotfiles.yml -v
.
Run this:
time ansible-playbook dotfiles.yml -v --ask-become-pass
This will install things if they are not installed yet. It will also update things if they are already installed.
Run this:
time ansible-playbook maintenance.yml -v --ask-become-pass
This runs different tasks than the dotfiles.yml
playbook. It does stuff like spotlight DB rebuild, repair permissions, verify volume, etc.
I am using pre-commit
in this repo to lint before commits. Install it via brew using
brew install pre-commit
- Fork it ( https://github.com/jansroka/dotfiles/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
- https://github.com/soehlert/osx-ansible
- https://github.com/geerlingguy/mac-dev-playbook/
- https://github.com/geerlingguy/ansible-collection-mac
- https://github.com/kinglouie/ansible-role-macos
- https://github.com/fgimian/macbuild-ansible
- https://github.com/elnappo/dotfiles/
- https://github.com/adamchainz/mac-ansible
- https://github.com/TalkingQuickly/ansible-osx-setup
- https://github.com/jcf/ansible-dotfiles
- https://github.com/frdmn/dotfiles