You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alpha Chen
56db097312
|
8 years ago | |
---|---|---|
.bundle | 9 years ago | |
.config/powerline | 9 years ago | |
.git_templates/hooks | 10 years ago | |
.hammerspoon | 9 years ago | |
.pentadactyl/plugin | 10 years ago | |
.ssh | 9 years ago | |
.vim | 8 years ago | |
Alfred.alfredpreferences | 8 years ago | |
ansible | 8 years ago | |
bin | 8 years ago | |
bitbar | 9 years ago | |
dnsmasq | 9 years ago | |
osx | 10 years ago | |
resolver | 11 years ago | |
scripts | 9 years ago | |
src | 8 years ago | |
.bash_profile | 10 years ago | |
.bashrc | 10 years ago | |
.gemrc | 10 years ago | |
.gitconfig | 8 years ago | |
.gitignore | 10 years ago | |
.gitmodules | 8 years ago | |
.inputrc | 10 years ago | |
.irbrc | 10 years ago | |
.pentadactylrc | 9 years ago | |
.pryrc | 10 years ago | |
.tmux.conf | 9 years ago | |
.vimrc | 9 years ago | |
Alpha.terminal | 9 years ago | |
LICENSE | 11 years ago | |
README.md | 9 years ago | |
Rakefile | 9 years ago | |
gitignore | 9 years ago |
README.md
Dotfiles
This repo contains both my dotfiles as well as Ansible playbooks to provision new machines.
Use at your own risk. Untested except on my own El Capitan installs.
Playbooks
bootstrap.yml
: SSH and Homebrew setupmain.yml
: Pretty much everything elseimac.yml
: For quieting down the broken HDD fan on my iMacmacbook_pro.yml
: Remap Caps Lock to Control on the laptop
Usage
First, some steps need to be performed on the remote machine that I couldn't figure out how to automate:
- Enable Remote Login in System Preferences -> Sharing.
- Install the command line developer tools:
xcode-select --install
. (It looks like the Homebrew installer should be able to handle this, but I haven't been able to get it to work headless.) - Install Xcode:
open 'https://itunes.apple.com/us/app/xcode/id497799835?mt=12'
- Accept the Xcode license:
sudo xcodebuild -license
On the control machine:
brew install ansible
git clone --recursive git@github.com:kejadlen/dotfiles
cd dotfiles/ansible
echo HOST > hosts.private
ansible-playbook bootstrap.yml --ask-pass --ask-become-pass
ansible-playbook main.yml --ask-become-pass
A couple items that I haven't gotten around to automating yet that need to be manually run post-provisioning:
# Apply personal Terminal settings
open ~/.dotfiles/Alpha.terminal
# Symlink ~/.dotfiles to Dropbox
rm -rf ~/.dotfiles
ln -s ~/Dropbox/dotfiles ~/.dotfiles
# Add private SSH keys
ruby ~/.dotfiles/scripts/setup_ssh_keys.rb
# Install apps from the Mac App Store
open 'https://itunes.apple.com/us/app/reeder-3/id880001334?ls=1&mt=12'
open 'https://itunes.apple.com/us/app/paprika-recipe-manager/id451907568?mt=12'
Provisioning Locally
You can also use this to provision a machine by itself, although this won't be able to copy over OS X application settings, for obvious reasons.
# Install Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install ansible
brew install ansible
# Clone dotfiles
git clone --recursive https://github.com/kejadlen/dotfiles.git ~/.dotfiles
# Run Ansible
cd ~/.dotfiles/ansible
echo localhost > hosts.private
ansible-playbook main.yml --ask-pass --ask-become-pass
Development
Ansible tags are indispensible when tweaking the config:
- command: echo debug
tags: debug
ansible-playbook main.yml --ask-become-pass --tags=debug
TODO
See issues.