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
9438911194
|
6 years ago | |
---|---|---|
.bundle | 6 years ago | |
.config | 7 years ago | |
.git_templates/hooks | 10 years ago | |
.hammerspoon | 7 years ago | |
.pentadactyl/plugin | 10 years ago | |
.ssh | 7 years ago | |
.vim | 6 years ago | |
.weechat | 7 years ago | |
Alfred.alfredpreferences | 6 years ago | |
Dash.dashsync | 7 years ago | |
ansible | 6 years ago | |
bin | 7 years ago | |
bitbar | 9 years ago | |
dnsmasq | 9 years ago | |
osx | 7 years ago | |
resolver | 11 years ago | |
scripts | 9 years ago | |
src | 6 years ago | |
.bash_profile | 10 years ago | |
.bashrc | 10 years ago | |
.chunkwmrc | 6 years ago | |
.gemrc | 10 years ago | |
.gitconfig | 7 years ago | |
.gitignore | 7 years ago | |
.gitmodules | 6 years ago | |
.inputrc | 10 years ago | |
.irbrc | 10 years ago | |
.pentadactylrc | 9 years ago | |
.pryrc | 10 years ago | |
.spacemacs | 8 years ago | |
.tmux.conf | 7 years ago | |
.vimrc | 6 years ago | |
Alpha.terminal | 8 years ago | |
LICENSE | 11 years ago | |
README.md | 6 years ago | |
Rakefile | 7 years ago | |
gitignore | 9 years ago | |
safari.css | 8 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.
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 Xcode:
open 'https://itunes.apple.com/us/app/xcode/id497799835?mt=12'
- Accept the Xcode license:
sudo xcodebuild -license
- Open Xcode
- 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.)
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:
# 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 ansible_connection=local" > 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.