Skip to content
This repository has been archived by the owner on Sep 25, 2023. It is now read-only.

My ansible-based dotfiles for OSX Monterey

Notifications You must be signed in to change notification settings

jansroka/dotfiles-osx-monterey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Archive Repository

This repo served me well, for years. But since I have moved on from OSX Monterey to OSX Ventura in September 2023, this repo is now archived. Check my repos for my current dotfiles.

This archived state is a snapshot of the repo as it was when I last used it. It is not maintained anymore.

Last used version of OSX Monterey was 12.7 (released on Sep 21, 2023)

Original README.md follows below.


dotfiles

These are my dotfiles. There are many like them, but these ones are mine.

Features

  • super simple setup
  • uses ansible and is idempotent
  • keeps ~/ clean

Available ansible roles

  • brew
    • configurdes homebrew includings casks & Microsoft Office (runtime: a few minutes)
  • dock
    • configure your OSX dock (runtime: < 1 min)
  • duti
    • set default app associations via duti (runtime: < 1 min)
  • hazel
    • ensure basic Hazel.app settings (runtime: seconds)
  • iterm
    • ensure our own preferences file is used (runtime: seconds)
  • maintenance
    • runs a few maintenance tasks like repairPermissions, verifyVolume (runtime: several minutes)
  • mas
    • takes care of apps installed via Mac App Store (runtime: 1 min)
  • npm
    • install the few global npm packages that I use (runtime: a few secs)
  • osx
    • set lots of defaults for OSX and OSX apps (runtime: < 1 min)
  • pip
    • install and maintain pip modules (runtime: < 1 min)
  • softwareupdate
    • check softwareupdate for things we might need to install (runtime: seconds ideally)
  • sublime-text
    • install via brew cask & symlink (runtime: < 1 min)
  • symlinks
    • softlink a bunch of config files in to ~/ (runtime: seconds)

Getting started

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://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install ansible

How to run with a one-liner

Run this:

curl -L https://raw.github.com/jansroka/dotfiles/master/bin/setup.sh | bash

Make sure to read the code before running.

How to run the whole thing for setup

time ANSIBLE_CONFIG=./ansible/ansible.cfg ansible-playbook -i ansible/hosts ansible/dotfiles.yml -v --ask-become-pass

How to run the update playbook only for softwareupdates

Run this:

time ANSIBLE_CONFIG=./ansible/ansible.cfg ansible-playbook -i ./ansible/hosts ./ansible/update.yml -v --ask-become-pass

How to run the maintenance playbook

Run this:

time ANSIBLE_CONFIG=./ansible/ansible.cfg ansible-playbook -i ./ansible/hosts ./ansible/maintenance.yml -v --ask-become-pass

How to make changes to this repo // pre-commit hooks

I am using pre-commit in this repo to lint before commits. Install it via brew using

brew install pre-commit

Contributing

  • 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

Inspiration