Skip to content

jansroka/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

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:

Features

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

Available ansible roles

  • 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
  • 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 ~/

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 this

...as a one-liner, e.g. for initial setup

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.

...as a regular command via CLI

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.

How to run the maintenance playbook

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.

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