A curated list of dotfiles resources.
Note that some articles or tools may look old or old-fashioned, but this usually means they’re battle-tested and mature (like dotfiles themselves). Feel free to propose new articles, projects or tools!
- Getting started with dotfiles
- Getting started with dotfiles
- Managing your dotfiles
- Dotfiles Are Meant to Be Forked
- Dotfile discovery
- Setting up a new (OS X) development machine: Part 3 – Dotfiles and custom SSH config
- Setting Up a Mac Dev Machine From Zero to Hero With Dotfiles;
- Using Git and GitHub to manage your dotfiles
- conf.d like directories for zsh/bash dotfiles
- Managing your dotfiles
- The best way to store your dotfiles: A bare Git repository
Using specific tools
- Using GNU Stow to manage your dotfiles
- Managing Dotfile Symlinks with GNU Stow
- Dotfiles and dev tools provisioned by Ansible
- Manage a development machine with Ansible
Find dotfiles repos
There are many great dotfiles repos out there, each containing their own inspiration and gems. I think one of the best
ways to go through them is by searching GitHub for “dotfiles”.
- Google for “dotfiles”
- Archlinux collection
- Tip: search for a filename on GitHub, e.g.
Example dotfiles repos
A collection of the most popular, well-maintained, and collaborative dotfiles repositories & frameworks. Some projects
contain just the dotfiles. Others go further by allowing you to easily add your own custom dotfiles, and/or including
scripts to manage dotfiles/plugins.
|Bash it||Community bash framework.||Autocompletion, themes, aliases, custom functions. Well-structured framework.|
|Mathias’s dotfiles||Sensible hacker defaults for macOS||Lots of goodness here, great collaborative community effort.|
|Maximum Awesome||Config files for vim and tmux||Vim, tmux. Built for Mac OS X.|
|webpro’s dotfiles||macOS dotfiles||Bash, Homebrew, Brew Cask, Git, Node.js, Hammerspoon.|
|rootbeersoup’s dotfiles||Effortless Bash, Vim and macOS configuration||A
|Luke’s voidrice||Arch linux dotfile bootstrap||Bloatless, often suckless software. Vim config for editing documents in markdown or latex|
|thoughtbot dotfiles||Set of vim, zsh, git, and tmux configuration files||Zsh, vim, tmux, git, homebrew. Uses rcm.|
|oh-my-zsh||Community-driven framework for managing your zsh configuration.||Includes 200+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, php, python, etc), over 140 themes to spice up your morning, and an auto-update tool.|
|Prezto||The configuration framework for Zsh.||Enriches the command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes.|
|YADR||The best vim, git, zsh plugins and the cleanest vimrc you’ve ever seen||Homebrew, zsh, git, vim, and more. Active repository.|
|antigen||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. Antigen is to zsh, what Vundle is to vim.|
|Dries’s dotfiles||Simplified approach to dotfiles for macOS||Zsh, Oh My Zsh, macOS, Homebrew, Mackup|
|sobolevn’s dotfiles||Dotfiles for the developer happiness||Zsh, Brew, Sublime, Python, Node, Elixir|
|oh-my-fish||Community Fish framework.||Includes many plugins and themes, with installation, auto-update, and scaffolding tools.|
|Paul’s dotfiles||Abundant dotfiles with a plethora of cool custom functions||Fish, macOS, Homebrew, Custom Shell functions|
|rkalis’s dotfiles||Well-maintained dotfiles featuring Fish, repository management and Hammerspoon||Fish, macOS, Homebrew, Repository management, Hammerspoon|
|.dots||New and upgraded dotfiles, now with Ansible!||Completely automated desktop setup, configuration and maintenance using Ansible|
|sloria’s dotfiles||sloria’s dotfiles as Ansible roles||Sets up a full local development environment with a single command|
- Ansible – Radically simple configuration-management, application deployment,
task-execution, and multinode orchestration engine.
- bashdot – Minimalist dotfile management framework written entirely in bash.
- chezmoi – Manage your dotfiles securely across multiple machines.
- dotbare – Manage dotfiles interactively with fzf.
- dotbot – Tool that bootstraps your dotfiles.
- dotdrop – Save your dotfiles once, deploy them everywhere.
- dotstow – Manage dotfiles with stow.
- emplace – Synchronize installed packages on multiple machines using a dotfiles
- Fisher – A package manager for Fish
- fresh – Keep your dotfiles fresh. Fresh is a tool to source shell configuration (aliases,
functions, etc) from others into your own configuration files.
- GNU Stow – 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 – Git dotfile synchronizer written in Bash.
- homesick – Your home directory is your castle. Don’t leave your
dotfiles behind (article).
- mackup – Keep your application settings in sync (OS X/Linux).
- Pearl – Package manager that allows to control, sync, share dotfiles as
packages automatically activated during shells or editors startup. There is a wide range of packages already available
in the Official Pearl Hub (for Linux and OSX).
- rcm – rc file (dotfile) management.
- themer – Manage and generate themes across your development tools from within
- yadm – Tool for managing a collection of files across multiple computers,
using a shared Git repository and some additional features.
- dockutil – Command line tool for managing dock items
- mas – Mac App Store command line interface
- zero – Radically simple personal bootstrapping tool for macOS.
- dotfiles.github.io – Your unofficial guide to dotfiles on GitHub.
- OS X Defaults – Centralized place for the awesome work started by
@mathiasbynens on .macos.
- Filesystem Hierarchy Standard – Directory structure and
directory contents in Linux distributions.
- XDG Base Directory Specification –
- A lesson in shortcuts –
How the idea of “hidden” or “dot” files was born, by Rob Pike (originally posted on Google+)
- Awesome Dev Env – Curated list of awesome tools, resources and workflow
tips making an awesome development environment.