Courses & Tutorials
Awesome Dotfiles – Massive Collection of Resources
Awesome dotfiles
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!
Articles
Introductions
- Getting started with dotfiles
(L. Kappert) - Getting started with dotfiles
(D. Vints) - Managing your dotfiles
- Dotfiles Are Meant to Be Forked
- Dotfile discovery
Tutorials
- 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;
Part 2 - 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
Shell startup
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”.
Also see:
- Google for “dotfiles”
- Archlinux collection
- Tip: search for a filename on GitHub, e.g.
in:path .gitconfig.
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
Title | Description | Focus |
---|---|---|
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 curl | sh installer and a Makefile offer portable and effortless setup for either permanent or temporary configuration. |
Luke’s voidrice | Arch linux dotfile bootstrap | Bloatless, often suckless software. Vim config for editing documents in markdown or latex |
Zsh
Title | Description | Focus |
---|---|---|
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 |
Fish
Title | Description | Focus |
---|---|---|
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 |
Ansible
Title | Description | Focus |
---|---|---|
.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 |
Tools
- 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
repository. - 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
your dotfiles. - yadm – Tool for managing a collection of files across multiple computers,
using a shared Git repository and some additional features.
macOS
- dockutil – Command line tool for managing dock items
- mas – Mac App Store command line interface
- zero – Radically simple personal bootstrapping tool for macOS.
Miscellaneous
- 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 –
Summary - A lesson in shortcuts –
How the idea of “hidden” or “dot” files was born, by Rob Pike (originally posted on Google+)
Related Lists
- Awesome Dev Env – Curated list of awesome tools, resources and workflow
tips making an awesome development environment.