/dotfiles

dotfiles to bootstrap my preferred system setup, including macOS system config, CLI config, and installation of common tools

Primary LanguageShellOtherNOASSERTION

Mike Greiling's Dotfiles

A set of config files and itempotent scripts used to automate and synchronize my system environment across multiple machines.

About

This repository contains the personal dotfiles of Mike Greiling. Originally forked from https://mths.be/dotfiles, it has subsequently been almost entirely rewritten and adapted to utilize chezmoi (ʃeɪmwɑː | shay-mwah) for easy installation, maintenance, and synchronization. The aim is to make my preferred system configuration portable across workstations and operating systems in a deterministic way. All scripts are meant to be idempotent.

Anyone is free to use any or all of this repository for their own purposes, however I do not recommend using it verbatim. This script will prompt you for a decryption key (which you do not have) in order to enable it to install my private SSH and GPG keys.

Installation

# if chezmoi is not installed already
BINDIR=/tmp/bin sh -c "$(curl -fsLS get.chezmoi.io)" -- init --use-builtin-git on --apply mikegreiling

# if chezmoi is installed (e.g. via a package manager like homebrew)
chezmoi init mikegreiling

The --use-builtin-git on is necessary if Xcode is not currently installed. On macOS, the git command is stubbed with a prompt to install Xcode, so chezmoi does not detect when it is actually unavailable.

You will be prompted to supply the decryption key to install SSH and GPG keys, followed by your full name and email address which will allow git to be configured properly, further followed by an option to override the computer and hostname settings. Once all of that information is collected, it will install the dotfiles and run setup scripts.

export PATH="/usr/local/bin:$PATH"

Additional System Setup Instructions

Once chezmoi has run, a checklist with further manual steps will be placed on the Desktop.

It contains a list of items which cannot be done programatically (yet) like entering license keys, signing in to apps, and populating the dock.

Author

twitter/mikegreiling
Mike Greiling

Thanks to…