sloria's dotfiles, rewritten as Ansible roles. Fully supports MacOSX. Red Hat and Debian support is good but not as complete.
- zsh configured with prezto.
- nice fonts for the terminal and coding.
- iterm2 profile (w/ hotkey, themes, etc.)
- anaconda python (Miniconda 3 distribution).
- a tmux.conf that's pretty neat.
- vim with vim-plug for plugin management. All configuration in a single file .vimrc.
- pluggable. Everything is optional. Fork this. Remove what you don't use. Configure what you do use.
- Mac packages installed with homebrew. Mac apps installed with homebrew-cask.
- support for deploying to remote environments.
- ansible >= 1.6
- homebrew (If on Mac OSX)
- git (homebrew installable on Mac OSX)
- Fork this repo.
- Clone your fork.
# Replace git url with your fork
# NOTE: It is important that you clone to ~/dotfiles
$ git clone https://github.com/YOU/dotfiles.git ~/dotfiles
$ cd ~/dotfiles- Update the following variables in
group_vars/local(at a minimum)full_name: Your name, which will be attached to commit messages, e.g. "Steven Loria"git_user: Your Github username.git_email: Your git email address.
- Optional, but recommended: Update
group_vars/localwith the programs you want installed by homebrew, homebrew-cask, and npm.osx_homebrew_packages: Utilities that don't get installed by the roles.osx_cask_packages: Mac Apps you want installed with homebrew-cask.npm_global_packages: Node utilities.
- Edit
local_env.ymlas you see fit. Remove any roles you don't use. Edit roles that you do use. - Run the installation script.
$ ./bin/dot-bootstrapOnce you have the dotfiles installed you can run the following command to rerun the ansible playbook:
$ dotThere are three main commands in the bin directory for setting up and updating development environments:
dot-bootstrap: sets up local environment by executing all roles inlocal_env.yml.dot: updates local environment by executing all roles inlocal_env.ymlexcept for the ones tagged with "bootstrap".dot-remote: sets up remote environments.
All configuration is done in ~/dotfiles. Each role may contain (in addition to the typical ansible directories and files) a number of special files
- role/*.zsh: Any files ending in
.zshget loaded into your environment. - bin/: Anything in
bin/will get added to your$PATHand be made available everywhere.
fonts
To install fonts on OSX, simply drag the .ttf files in misc/fonts directory onto the Font Book application.
python
The python topic installs the Anaconda Python distribution using the miniconda installer. The installation is entirely self-contained, and lives at ~/miniconda.
iterm2
To import the iterm2 profile, go to your iterm2 preferences, and enable "Load preferences from custom folder" and select the iterm2 folder in the misc/ directory.
macosx keyboard settings
There are a few keyboard customizations that must be done manually:
- Turning repeat speed up to 11.
- Mapping Caps Lock to Ctrl.
The remote_env.yml playbook can set up a minimal subset of these dotfiles on remote machines.
- Copy
remotehosts.exampletoremotehosts. Theremotehostsfile will note be added to version control.
$ cp remotehosts.example remotehosts
- Add the remote hosts you want to target under the
[remote]group of theremotehostsfile.
[remote]
123.456.789.111
Update the following variables in group_vars/remote:
dotfiles_user_home: Your user home directory.full_name: Full name, for use in commit messages.git_user: Your git user name.git_email: Your git email.
Then run the dot-remote command.
$ ./bin/dot-remoteThe following commands will install vim-plug and download my .vimrc.
After backing up your ~/.vim directory and ~/.vimrc:
mkdir -p ~/.vim/autoload
curl -fLo ~/.vim/autoload/plug.vim https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
curl -fLo ~/.vimrc https://raw.githubusercontent.com/sloria/dotfiles/master/roles/vim/files/vimrc
You will now be able to open vim and run :PlugInstall to install all plugins.
- Full Debian and Red Hat support
- Add more options to
dotscript, e.g. for skipping tasks


