my dotfiles
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 2072f97280
[dnsmasq] Blacklist adzmath
9 years ago
.bundle [bundler] Update settings for `bundle gem` 9 years ago
.git_templates/hooks [meta] Stop using stow 10 years ago
.hammerspoon [hammerspoon] Add mash shortcuts for throwing windows to the left and right 10 years ago
.pentadactyl/plugin [meta] Stop using stow 10 years ago
.ssh [ssh] Add forwarding hostname for AWS instance 9 years ago
.vim [meta] Update submodules 9 years ago
Alfred 2/Alfred.alfredpreferences [alfred] Update a few workflows 9 years ago
ansible [terminal] Use Hack font 9 years ago
bin [bin] Add script for moving crosswords 10 years ago
dnsmasq [dnsmasq] Blacklist adzmath 9 years ago
osx [meta] Synchronize some app prefs and OS X colors 10 years ago
powerline [powerline] Add Powerline config 10 years ago
resolver Fix resolver/dev 11 years ago
scripts [meta] Update README 10 years ago
src [meta] Update submodules 9 years ago
.bash_profile [meta] Stop using stow 10 years ago
.bashrc [meta] Stop using stow 10 years ago
.gemrc [meta] Stop using stow 10 years ago
.gitconfig [git] Push submodules by default 9 years ago
.gitignore [meta] Stop using stow 10 years ago
.gitmodules [alfred] Update a few workflows 9 years ago
.inputrc [meta] Stop using stow 10 years ago
.irbrc [meta] Stop using stow 10 years ago
.pentadactylrc [pentadactyl] Add command for entering Reader view 10 years ago
.pryrc [meta] Stop using stow 10 years ago
.tmux.conf [tmux] Assume 2.x 9 years ago
.vimrc [vim] We're in modern times - let's use more than 80 char lines! 9 years ago
Alpha.terminal [terminal] Bump up the font size 9 years ago
LICENSE Initial commit 11 years ago
README.md [meta] Update README 10 years ago
Rakefile [meta] Update sync:dlanham task 9 years ago
gitignore [git] Ignore all .envrc files 9 years ago

README.md

A new beginning for what used to be my conf_dir project, since dotfiles appears to be the conventional name of these types of repos nowadays.

This uses Ansible to provision new machines.

Usage

There are two ways to go about using this - either locally or remotely. The main difference is that OS X application settings are only copied over when running this on a remote machine.

Either way, we start with installing Xcode:

xcode-select --install
open 'https://itunes.apple.com/us/app/xcode/id497799835?mt=12'
sudo xcodebuild -license

After running Ansible, there are some optional tasks for full desktop setup:

# Remove the bootstrap directory for the canonical one in Dropbox
rm -rf ~/.dotfiles
ln -s ~/Dropbox/dotfiles ~/.dotfiles

# Apply personal Terminal settings
open ~/.dotfiles/Alpha.terminal

# Add private SSH keys
ruby ~/.dotfiles/scripts/setup_ssh_keys.rb

Local

# 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 && ansible-playbook main.yml --ask-sudo-pass
rm -f ~/*.retry

Remote

On the remote machine, SSH access must first be enabled (under System Preferences -> Sharing) and the Xcode Command Line Tools need to be installed (xcode-select --install).

cd ~/.dotfiles/ansible && ansible-playbook main.yml --ask-pass --ask-sudo-pass

Misc

To update submodules:

git submodule foreach git pull

Development

Ansible tags are indispensible when tweaking the config.

- command: echo debug
  tags: debug
ansible-playbook main.yml --ask-sudo-pass --tags debug

Vagrant

vagrant up
ansible vagrant -m ping

TODO

See issues.