Awesome dotfiles

A curated list of dotfiles resources. Inspired by the awesome list thing. 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

Tutorials

Shell startup

Using specific tools

Find dotfiles repos

There are many great dotfiles repos out there, each containing their own inspiration and gems. One way to go through them is to search GitHub for "dotfiles".

Also see:

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 some include scripts to manage dotfiles and 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.
  • comtrya - Configuration management for localhost, written in Rust, for Linux, BSD, macOS, and Windows
  • 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.
  • toml-bombadil - Templatize and manage 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

Related Lists

  • Awesome Dev Env - Curated list of awesome tools, resources and workflow tips making an awesome development environment.
  • Awesome Fish - Curated list of packages, prompts, and resources for the fish shell.
  • Awesome Shell - Curated list of awesome command-line frameworks, toolkits, guides and gizmos.
  • Awesome Sysadmin - A curated list of amazingly awesome open source sysadmin resources.
  • Awesome Zsh Plugins - List of Zsh plugins suitable for use with oh-my-zsh, antigen & Prezto.
  • Terminals Are Sexy - A curated list of Terminal frameworks, plugins & resources for CLI lovers.

Archive/abandoned projects

License

CC0

To the extent possible under law, Lars Kappert has waived all copyright and related or neighboring rights to this work.