Skip to content

Opinionated configuration files powered by Ansible.

License

Notifications You must be signed in to change notification settings

jcf/ansible-dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Undergoing major changes: I’m in the process of reworking this repository to make it easier to setup OS X and Linux. Check out the new dotfiles repo for a simpler way of managing the dots.


What’s in the box?

Dotfiles helps you get your dev environment up and running.

https://dl.dropboxusercontent.com/u/508427/imgs/first-web-server.jpg

https://commons.wikimedia.org/wiki/File:First_Web_Server.jpg

The following repositories configure Emacs, ZSH, and Vim:

  • spacemacs.d contains my Spacemacs customisations.
  • prezto configures ZSH.
  • vimrc sets up Vim for those times when Emacs isn’t available.

And there’s pretty good support for the following languages:

Each feature/language is grouped using Ansible roles, and can be found in the roles directory.

All the dotfiles that get linked into $HOME are grouped by language or feature where possible, and failing that lumped into the dotfiles role.

Roles look at the vars kept in group_vars for things like packages to install, and versions of certain runtime environments.

Getting Started

You’ll need the following dependencies before getting started.

At the time of writing it’s possible to get all three like so:

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

xcode-select --install

Installation

With the dependencies above installed you can clone the repo, and use Ansible to get everything setup!

git clone git://github.com/jcf/dotfiles.git ~/.dotfiles
cd ~/.dotfiles

bin/install

# This needs root access and will ask for your password
bin/sudo-install

Keeping up to date

To update the installed packages and tools you can use bin/update, which internally runs all Ansible tasks with the tag update.