This project is deprecated and unmaintained. Proceed with caution!
A set of Ansible playbooks for configuring a development PC
Works on Mac OS X and Debian and kind of on RedHat. On a Debian machine it doesn't expect much outside of the base config and a working SSH connection. On a Mac it needs Homebrew (brew.sh) and maybe some other stuff like Xcode CLI tools. I don't have a fresh installation to test with so you're kind of on your own for that one.
# to install locally
make local
# to install just a specific tag (see site.yml) locally
TAGS=dotfiles make local-tags
# to install on all machines in etc/hosts
make install
# to install just a specific tag (see site.yml) on all machines in etc/hosts
TAGS=dotfiles make install-tags
See the Makefile for other targets and stuff. I'm not very good at writing Makefiles tbh.
-
Bootstraps a machine (SSH keys, sudoers file, etc.)
-
Installs dotfiles (see the dotfile / shell roles and the dotfiles folder)
-
Installs a full version of Vim (compiling it from scratch pretty much all the time)
-
Installs VirtualBox, packer, and vagrant
-
Sets up a working Ruby environment complete with rbenv and 3 or so Rubies
-
Sets up a working Go environment (from source) and installs some basic bins
-
Installs Java (openjdk on Debian)
-
Sets up a working Clojure environment with lein
-
Sets up a working Scala environment + sbt
-
Sets up a working PHP environment with 5.3 through 5.5, phpdbg, and composer
-
Installs some essential apps in Debian (Chromium, Spotify, etc.)
-
Replicates these scripts (repo included) to the target machine, installs the latest version of Ansible
- Docker
- Node
- .NET / C#
- Haskell
- Erlang
- Elixir
- Quicker git repo checks; making an HTTP request takes too long
- Maybe mirror some of the aptitude packages?
- Tarsnap
- Figure out a way of handling private-key transfers
- AwesomeWM
- Conky
- Synchronized desktop background
- Airplay or similar? Maybe using Raspberry Pi
- Switch to luakit browser, customize it
- Bitlbee
- Figure out how to handle irssi auth
- Better password security (convert 1password to password-store?)
- Either setup mutt or find a cross platform email solution
- Change shell prompt to show hostname
See the COMPLAINTS
file.
The ruby
, rbenv
, and ruby-multi
playbooks were originally taken almost
word-for-word from ansible-rbenv-playbook. They've been modified a little,
but not much.
The scala
playbook was stolen from AnsibleShipyard/ansible-scala and
modified to use more core Ansible modules instead of shell-ing out so much.
It's MIT licensed. See the LICENSE file for more information.