# Awesome dotfiles A curated list of dotfiles resources. Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ## Articles ### Generic & Introduction * [Dotfiles Are Meant to Be Forked](http://zachholman.com/2010/08/dotfiles-are-meant-to-be-forked/) * [Dotfile discovery](http://wynnnetherland.com/journal/dotfiles-discovery) ### Tutorial * [Getting started with dotfiles](https://medium.com/@webprolific/getting-started-with-dotfiles-43c3602fd789) * [Setting up a new (OS X) development machine: Part 3 - Dotfiles and custom SSH config](http://mattstauffer.co/blog/setting-up-a-new-os-x-development-machine-part-3-dotfiles-rc-files-and-ssh-config) * [Setting Up a Mac Dev Machine From Zero to Hero With Dotfiles](http://code.tutsplus.com/tutorials/setting-up-a-mac-dev-machine-from-zero-to-hero-with-dotfiles--net-35449) * [Using Git and GitHub to manage your dotfiles](http://blog.smalleycreative.com/tutorials/using-git-and-github-to-manage-your-dotfiles/) * [conf.d like directories for zsh/bash dotfiles](http://chr4.org/blog/2014/09/10/conf-dot-d-like-directories-for-zsh-slash-bash-dotfiles/) ### Shell startup * [Shell startup scripts](http://blog.flowblok.id.au/2013-02/shell-startup-scripts.html) * [Zsh/Bash startup files loading order](http://shreevatsa.wordpress.com/2008/03/30/zshbash-startup-files-loading-order-bashrc-zshrc-etc/) ### Using vcsh & mr * [Manage dotfiles Quickly and Effortlessly](http://www.martin-burger.net/blog/unix-shell/manage-dotfiles-quickly-and-effortlessly/) * [Managing dot-files with vcsh and myrepos](http://blog.tfnico.com/2014/03/managing-dot-files-with-vcsh-and-myrepos.html) * [Manage dotfiles using vcsh and mr](http://www.kunxi.org/blog/2014/02/manage-dotfiles-using-vcsh-and-mr/) ### Using Ansible * [Dotfiles and dev tools provisioned by Ansible](http://palcu.blogspot.nl/2014/06/dotfiles-and-dev-tools-provisioned-by.html) * [Manage a development machine with Ansible](http://kreusch.com.br/blog/2013/12/03/manage-a-development-machine-with-ansible/) ## Dotfiles repos A collection of the most popular, well-maintained, and collaborative dotfiles repositories. Title | Description | Focus :--|:--|:-- [holman does dotfiles](https://github.com/holman/dotfiles) | holman does dotfiles | Organized well around topics. Author wants it to work for everyone. [Mathias’s dotfiles](http://mths.be/dotfiles) | .files, including ~/.osx — sensible hacker defaults for OS X | Lots of goodness here, great collaborative community effort. [YADR](http://skwp.github.io/dotfiles/) | The best vim, git, zsh plugins and the cleanest vimrc you've ever seen | Homebrew, zsh, git, vim, and more. Active repository. [thoughtbot dotfiles](https://github.com/thoughtbot/dotfiles) | A set of vim, zsh, git, and tmux configuration files | Zsh, vim, tmux, git, homebrew. Uses [rcm](https://github.com/thoughtbot/rcm). [Eduardo's dotfiles](https://github.com/eduardolundgren/dotfiles) | The first JavaScript-based dotfiles powered by Grunt. | Zsh, Node.js, Ruby, OS X defaults. Installable from npm. [Bashstrap](https://github.com/barryclark/bashstrap) | Bootstrap for your terminal. A quick way to spruce up OSX terminal. | OS X Terminal, prompt, iTerm. [Bash it](https://github.com/revans/bash-it) | A community bash framework. | Autocompletion, themes, aliases, custom functions. Well-structured framework. [Maximum Awesome](https://github.com/square/maximum-awesome) | Config files for vim and tmux, by Square vimsters. | Vim, tmux. Built for Mac OS X. There are many more great dotfiles repos out there, each containing their own inspiration and gems. * [Search GitHub for "dotfiles"](https://github.com/search?q=dotfiles&type=Repositories) * [Google for "dotfiles"](https://www.google.com/#q=dotfiles) * [Archlinux collection](https://wiki.archlinux.org/index.php/Dotfiles) Tip: search for a filename on GitHub, e.g. [site:github.com .gitconfig](https://www.google.com/#q=site:github.com+.gitconfig). ## Tools * [Ansible](http://www.ansible.com/home) - Ansible is a radically simple configuration-management, application deployment, task-execution, and multinode orchestration engine. * [battleschool](https://github.com/spencergibb/battleschool) - Development environment provisioning using ansible * [Bork](https://github.com/mattly/bork) - a bash DSL for config management * [dotbot](https://github.com/anishathalye/dotbot) - A tool that bootstraps your dotfiles * [fresh](http://freshshell.com/) - Keep your dot files fresh. fresh is a tool to source shell configuration (aliases, functions, etc) from others into your own configuration files. * [GNU Stow](http://www.gnu.org/software/stow/) - GNU Stow is a symlink farm manager which takes distinct packages of software and/or data located in separate directories on the filesystem, and makes them appear to be installed in the same place. * [homeshick](https://github.com/andsens/homeshick) - git dotfile synchronizer written in bash * [homesick](https://github.com/technicalpickles/homesick) - Your home directory is your castle. Don't leave your dotfiles behind ([post](http://technicalpickles.com/posts/never-leave-your-dotfiles-behind-again-with-homesick/)). * [rcm](https://github.com/thoughtbot/rcm) - rc file (dotfile) management * [Super User Stone](https://github.com/NorfairKing/super-user-stone) - SUS manages the deployment of your configuration files (dotfiles) ([post](http://blog.cs-syd.eu/super-user-stone/)). * [vcsh](https://github.com/RichiH/vcsh) - Version Control System for $HOME, multiple Git repositories in $HOME ## Frameworks There are several frameworks that make it easier to customize your shell environment. ### Bash * [bash-it](https://github.com/revans/bash-it) - Inspired by Robby Russell's [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) framework for ZSH, this includes autocompletion, themes and other customizations. ### ZSH * [antigen](http://antigen.sharats.me/) - A plugin manager for zsh, inspired by oh-my-zsh and vundle. Antigen is a small set of functions that help you easily manage your shell (zsh) plugins, called bundles. The concept is pretty much the same as bundles in a typical vim+pathogen setup. * [antigen-hs](https://github.com/Tarrasch/antigen-hs) An antigen-inspired zsh plugin manager that tries to do work statically and only on manual invocation, minimizing the zsh startup time. Antigen-hs is much more minimalistic and convention over configuration than antigen. * [dotzsh](https://github.com/dotphiles/dotzsh) dotzsh strives to be platform and version independent, some functionality may be lost when running under older versions of zsh, but it should degrade cleanly and allow you to use the same setup on multiple machines of differing OS's without problems. * [oh-my-zsh](https://ohmyz.sh) - A community-driven framework for managing your zsh configuration. Includes 120+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, macports, etc), over 120 themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community. * [prezto](https://github.com/sorin-ionescu/prezto) - Enriches the command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes. ### OS X * [dockutil](https://github.com/kcrawford/dockutil) - command line tool for managing dock items * [kody](https://github.com/jh3y/kody) - A .files runner/manager written in node * [osxc](http://osxc.github.io/) - osxc is mainly a set of playbook roles made for OS X configuration ## Misc. * [dotfiles.github.io](http://dotfiles.github.io/) - Your unofficial guide to dotfiles on GitHub. * [dotfiles.org](http://dotfiles.org/) - dotfiles.org is a place to upload, download, and share your dotfiles. * [OS X Defaults](https://github.com/kevinSuttle/OSXDefaults) - A centralized place for the awesome work started by [@mathiasbynens on .osx](https://github.com/mathiasbynens/dotfiles#sensible-os-x-defaults). ## Related Lists * [Awesome Shell](https://github.com/alebcay/awesome-shell) - A curated list of awesome command-line frameworks, toolkits, guides and gizmos. * [Awesome Dev Env](https://github.com/jondot/awesome-devenv) - A curated list of awesome tools, resources and workflow tips making an awesome development environment.