Skip to content

digitalraven/dotfiles

 
 

Repository files navigation

Dotfiles

After cloning this repo, run install to set up the user environment. The install script is idempotent --- running it multiple times has no effect.

Dotfiles uses Dotbot and Dotbot-Pip for installation.

Bootstrapping

The intent of this repo is to bring a new macOS account to a 'standard' state. It's entirley suited to my personal preference1. Effectively, it's a barebones bootstrapping system for machines that aren't part of a larger configuration management infrastructure.

macOS doesn't come with any git available 'out of the box'; while I'd love to have everything available after a single git clone $FOO && cd $FOO && ./install one does need to take some preparatory steps.

  1. Ensure you have the Xcode Command Line Tools installed; this is a requirement for Homebrew and grants a basic version of git (which the Brewfile will then update).

    xcode-select --install
  2. Install Homebrew --- sensible installation requires reading the installation script to make sure it's not been tampered with, rather than just executing an arbitrary ruby script pulled via curl. Even non-sensible installation requires command-line interaction; as such I'd much rather this happen as a separate step.

  3. Clone this repo

    git clone --recursive https://github.com/digitalraven/dotfiles
  4. Sign in to the App Store; mas is flaky on Catalina and above, and command-line signin is completely broken. Signing in via the app is a workaround that makes it kinda-work-ish. Sometimes. If the moon's in the right phase and the chicken entrails show fortune in your future.

  5. Install

    cd dotfiles && ./install
  6. Go for any or all of a cigarette, a gin and tonic, or a hot beverage of your choice. The brewfile pulls down a lot of casks, so you might as well do something useful with your time.

  7. For development-heavy machines, add the additional packages required (node, various DB engines)

    brew bundle install --file=Brewfile-work

Included Configuration

  • Commands, packages, and software from the App Store are managed using Homebrew. This is all controlled using a Brewfile, a list of packages to install. Read that file to find out what's being installed.
  • vim configuration and plugins are installed directly, and managed via Pathogen.
  • Standard git configuration comes from gitconfig and gitignore.
  • Shell customisation is done via oh-my-zsh, with a custom set of aliases and functions. Most plugins are in the brewfile, but zsh-apple-touchbar is brought down in the pre-install.sh as it uses a feature branch not included in the main repo.
  • Python modules not in homebrew are installed using Dotbot-Pip, from a list in packages.pip

Third-Party Licences

Some installed software will require purchase of a licence for full functionality. This includes (but is not limited to):

  • Hyperdock
  • iStat Menus
  • Kaleidoscope
  • Microsoft Office
  • Paste
  • Scrivener
  • Scapple

Finding where to purchase a licence and making that purchase is left as an exercise for the user.

1: One of my personal preferences includes getting a computer to do a lot of boring, repetitive tasks2 --- such as installing software and managing configuration files. If I had to try to remember which packages to install every time, each machine I use would be in a completely different state. 2: Configuration management is a topic close to my heart, but often I end up with machines that can't (for political rather than technological reasons) be enrolled in a proper CM environment. I will happily talk about the need for suitable CM for days at a time if given appropriate conversational lubricant (beer, gin, or whisky).

About

~digitalraven dotfiles, powered by https://git.io/dotbot 🏡

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vim Script 50.6%
  • Python 45.3%
  • Shell 3.3%
  • C 0.2%
  • AppleScript 0.2%
  • Erlang 0.1%
  • Other 0.3%