brainstate

webpro/awesome-dotfiles · source

Snapshot 0 · 2026-11-04T12:47:23Z · ·

Content fingerprint92c1ca28daf5d22cf3c8537fc77f5508ee7673aaf6be54ad919b3b4386571006

GitHub description at capture

A curated list of dotfiles resources.

README at capture

# Awesome Dotfiles [![Awesome][2]][1]

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

- [Getting started with dotfiles][4], [Lars Kappert][5]
- [Getting started with dotfiles][6], [Dries Vints][7]
- [Managing your dotfiles][8], [Lars Kappert][5]
- [Dotfiles Are Meant to Be Forked][9], [Zach Holman][10]
- [Dotfile discovery][11], [Wynn Netherland][12]
- [I do Dotfiles!][13], [Jogendra][14]

### Tutorials

- [Setting up a new (OS X) development machine: Part 3 - Dotfiles and custom SSH config][15]
- [Setting Up a Mac Dev Machine From Zero to Hero With Dotfiles][16]
- [Using Git and GitHub to manage your dotfiles][17]
- [conf.d like directories for zsh/bash dotfiles][18]
- [Managing your dotfiles][19]
- [The best way to store your dotfiles: A bare Git repository][20]
- [Dotfiles Management][21]

### Shell startup

- [Shell startup scripts][22]
- [Zsh/Bash startup files loading order][23]

### Using specific tools

- [Using GNU Stow to manage your dotfiles][24]
- [Managing Dotfile Symlinks with GNU Stow][25]
- [Dotfiles and dev tools provisioned by Ansible][26]

## 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"][27].

Also see:

- [Google for "dotfiles"][28]
- [Archlinux collection][29]
- Tip: search for a filename on GitHub, e.g. [path:\*\*/.gitconfig][30].

## 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][31]                 | Community bash framework.                    | Autocompletion, themes, aliases, custom functions. Well-structured framework                                                 |
| [Mathias’s dotfiles][32]      | Sensible hacker defaults for macOS           | 🔧 .files, including \~/.macos — sensible hacker defaults for macOS                                                          |
| [webpro's dotfiles][33]       | macOS dotfiles                               | Bash, Homebrew, Brew Cask, Git, Node.js, Hammerspoon.                                                                        |
| [rootbeersoup's dotfiles][34] | Effortless Bash, Vim and macOS configuration | A `curl \| sh` installer and a Makefile offer portable and effortless setup for either permanent or temporary configuration. |

### Zsh

| Title                      | Description                                                                                                         | Focus                                                                                                                                            |
| :------------------------- | :------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------- |
| [Nick Khan's dotfiles][35] | Personal dotfiles for configuring macOS environment with Zsh and Homebrew. No fluff, only the stuff I actually use. | Zsh, Git (w/ aliases), Visual Studio Code, Ghostty, shell aliases, sensible macOS defaults, custom CLI script, etc.                              |
| [thoughtbot dotfiles][36]  | Set of vim, zsh, git, and tmux configuration files                                                                  | Zsh, vim, tmux, git, homebrew. Uses [rcm][37].                                                                                                   |
| [oh-my-zsh][38]            | Community-driven framework for managing your zsh configuration.                                                     | Oh My Zsh is an open source, community-driven framework for managing your Zsh configuration                                                      |
| [Prezto][39]               | The configuration framework for Zsh.                                                                                | Enriches the command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes.                      |
| [Dries's dotfiles][40]     | Simplified approach to dotfiles for macOS                                                                           | Zsh, Oh My Zsh, macOS, Homebrew, Mackup                                                                                                          |
| [holman does dotfiles][41] | Topic-oriented, fork-friendly dotfiles                                                                              | Zsh, Git, Vim, Homebrew, macOS, modular topic directories and bootstrap scripts.                                                                 |
| [Kevin's dotfiles][42]     | macOS dotfiles for Python developers                                                                                | Zsh, Python, Neovim, VS Code, Homebrew, macOS defaults and security settings.                                                                    |
| [sobolevn's dotfiles][43]  | Dotfiles for the developer happiness                                                                                | macOS, zsh, brew, vscode, codespaces, python, node, elixir                                                                                       |
| [yutkat's dotfiles][44]    | Well-maintained dotfiles that use CI to test and measure startup speeds.                                            | Zsh, Neovim, Wezterm, swaywm working on Arch/Ubuntu/Fedora Linux.                                                                                |
| [Luke's voidrice][45]      | My dotfiles (deployed by LARBS)                                                                                     | Zsh, vim/nvim, zsf                                                                                                                               |
| [2KAbhishek's dots2k][46]  | Passionately crafted, extensible dotfiles with multi platform support                                               | CLI tools at core, with extensions for different platforms (windows/mac/android), editors and window managers                                    |
| [Zim][47]                  | Modular, customizable, and blazing fast Zsh framework                                                               | Zim is a Zsh configuration framework that bundles a plugin manager, useful modules, and a wide variety of themes, without compromising on speed. |

### Fish

| Title                 | Description                                           | Focus                                                                            |
| :-------------------- | :---------------------------------------------------- | :------------------------------------------------------------------------------- |
| [oh-my-fish][48]      | The Fish Shell Framework                              | Core infrastructure to allow you to install packages to extend/modify your shell |
| [Paul's dotfiles][49] | paul's fish, bash, git, etc config files. good stuff. | Fish, macOS, Homebrew, Custom Shell functions                                    |

### Ansible

| Title                   | Description                                  | Focus                                                                           |
| :---------------------- | :------------------------------------------- | :------------------------------------------------------------------------------ |
| [.dots][50]             | New and upgraded dotfiles, now with Ansible! | Completely automated desktop setup, configuration and maintenance using Ansible |
| [Mac Dev Playbook][51]  | Mac setup and configuration via Ansible      | Full macOS dev machine setup including Homebrew, dotfiles, apps, and OS config  |
| [sloria's dotfiles][52] | sloria's dotfiles as Ansible roles           | Sets up a full local development environment with a single command              |

## Tools

- [Ansible][53] - Radically simple configuration-management, application deployment, task-execution, and multinode
  orchestration engine.
- [chezmoi][54] - Manage your dotfiles securely across multiple machines.
- [dotbot][55] - Tool that bootstraps your dotfiles.
- [dotdrop][56] - Save your dotfiles once, deploy them everywhere.
- [dotly][57] - Modular Zsh-based dotfiles framework for macOS, Linux, and WSL.
- [DotState][58] - Git-backed dotfile manager with profiles, automatic backups, and an interactive terminal interface.
- [dotter][59] - A dotfile manager and templater written in Rust.
- [dots][60] - Opinionated dotfiles generator that allows quick configuration of different window managers in multiple
  OSs!
- [Fisher][61] - A package manager for Fish.
- [fresh][62] - Keep your dotfiles fresh. Fresh is a tool to source shell configuration (aliases, functions, etc) from
  others into your own configuration files.
- [GNU Stow][63] - 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.
- [home-manager][64] - Manage a user environment using Nix.
- [homeshick][65] - Git dotfile synchronizer written in Bash.
- [homesick][66] - Clone and manage Git-based dotfiles repositories with symlinks.
- [lnk][67] - Git-native dotfiles management without extra config.
- [mackup][68] - Keep your application settings in sync (macOS/Linux).
- [OpenBoot][69] - Mac dev environment manager that captures and restores Homebrew packages, dotfiles, shell
  configuration, and macOS preferences via interactive TUI.
- [rcm][37] - rc file (dotfile) management.
- [rotz][70] - Fully cross-platform dotfile manager and dev environment bootstrapper written in Rust.
- [themer][71] - Manage and generate themes across your development tools from within your dotfiles.
- [toml-bombadil][72] - Templatize and manage your dotfiles.
- [Tuckr][73] - Cross-platform, Stow-style dotfile manager with groups, hooks, and deployment validation.
- [xdg-ninja][74] - A shell script which checks your $HOME for unwanted files and directories.
- [yadm][75] - Tool for managing a collection of files across multiple computers, using a shared Git repository and some
  additional features.
- [yolk][76] - Dotfile manager with inline templating via comments, so files stay valid even un-deployed.

### macOS

- [dockutil][77] - Command line tool for managing dock items.
- [mas][78] - Mac App Store command line interface.

## Miscellaneous

- [dotfiles.github.io][79] - Your unofficial guide to dotfiles on GitHub.
- [Filesystem Hierarchy Standard][80] - Directory structure and directory contents in Linux distributions.
- [XDG Base Directory Specification][81] - [Summary][82]
- [A lesson in shortcuts][83] - How the idea of "hidden" or "dot" files was born, by Rob Pike (originally posted on
  Google+).

## Related Lists

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

## Archive/abandoned projects

- [antigen][90]
- [bashdot][91]
- [Bashstrap][92]
- [battleschool][93]
- [Bork][94]
- [Cider][95]
- [dev-setup][96]
- [dotbare][97]
- [dotfiles][98]
- [dotstow][99]
- [Eduardo's dotfiles][100]
- [ellipsis][101]
- [emplace][102]
- [kody][103]
- [macOS Defaults][104]
- [osxc][105]
- [Pearl][106]
- [rkalis's dotfiles][107]
- [vcsh][108] ([article][109], [article][110])
- [YADR][111]
- [Zero.sh][112]

## License

[![CC0][114]][113]

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

[1]: https://awesome.re
[2]: https://awesome.re/badge.svg
[3]: https://github.com/sindresorhus/awesome
[4]: https://www.webpro.nl/articles/getting-started-with-dotfiles
[5]: https://github.com/webpro
[6]: https://driesvints.com/blog/getting-started-with-dotfiles/
[7]: https://github.com/driesvints
[8]: https://www.webpro.nl/articles/managing-your-dotfiles
[9]: https://zachholman.com/2010/08/dotfiles-are-meant-to-be-forked/
[10]: https://zachholman.com
[11]: https://wynnnetherland.com/journal/dotfiles-discovery/
[12]: https://wynnnetherland.com
[13]: https://jogendra.dev/i-do-dotfiles
[14]: https://jogendra.dev
[15]: https://mattstauffer.com/blog/setting-up-a-new-os-x-development-machine-part-3-dotfiles-rc-files-and-ssh-config/
[16]: https://code.tutsplus.com/setting-up-a-mac-dev-machine-from-zero-to-hero-with-dotfiles--net-35449t
[17]: https://blog.smalleycreative.com/using-git-and-github-to-manage-your-dotfiles/
[18]: https://chr4.org/posts/2014-09-10-conf-dot-d-like-directories-for-zsh-slash-bash-dotfiles/
[19]: https://www.anishathalye.com/2014/08/03/managing-your-dotfiles/
[20]: https://www.atlassian.com/git/tutorials/dotfiles
[21]: https://mitxela.com/projects/dotfiles_management
[22]: https://blog.flowblok.id.au/2013-02/shell-startup-scripts.html
[23]: https://shreevatsa.wordpress.com/2008/03/30/zshbash-startup-files-loading-order-bashrc-zshrc-etc/
[24]: https://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html
[25]: https://spin.atomicobject.com/manage-dotfiles-gnu-stow/
[26]: https://blog.palcu.net/2014/06/dotfiles-and-dev-tools-provisioned-by.html
[27]: https://github.com/search?q=dotfiles&type=Repositories
[28]: https://www.google.nl/search?q=dotfiles
[29]: https://wiki.archlinux.org/title/Dotfiles
[30]: https://github.com/search?type=code&q=path%3A**%2F.gitconfig
[31]: https://github.com/Bash-it/bash-it
[32]: https://github.com/mathiasbynens/dotfiles
[33]: https://github.com/webpro/dotfiles
[34]: https://github.com/darrylabbate/dotfiles
[35]: https://github.com/nicksp/dotfiles/
[36]: https://github.com/thoughtbot/dotfiles
[37]: https://github.com/thoughtbot/rcm
[38]: https://ohmyz.sh
[39]: https://github.com/sorin-ionescu/prezto
[40]: https://github.com/driesvints/dotfiles
[41]: https://github.com/holman/dotfiles
[42]: https://github.com/kdeldycke/dotfiles
[43]: https://github.com/sobolevn/dotfiles
[44]: https://github.com/yutkat/dotfiles
[45]: https://github.com/LukeSmithxyz/voidrice
[46]: https://github.com/2KAbhishek/dots2k
[47]: https://github.com/zimfw/zimfw
[48]: https://github.com/oh-my-fish/oh-my-fish
[49]: https://github.com/paulirish/dotfiles
[50]: https://github.com/Addvilz/dots
[51]: https://github.com/geerlingguy/mac-dev-playbook
[52]: https://github.com/sloria/dotfiles
[53]: https://www.ansible.com
[54]: https://github.com/twpayne/chezmoi
[55]: https://github.com/anishathalye/dotbot
[56]: https://github.com/deadc0de6/dotdrop
[57]: https://github.com/CodelyTV/dotly
[58]: https://github.com/serkanyersen/dotstate
[59]: https://github.com/SuperCuber/dotter
[60]: https://github.com/ulises-jeremias/dotfiles
[61]: https://github.com/jorgebucaran/fisher
[62]: https://freshshell.com
[63]: https://www.gnu.org/software/stow/
[64]: https://github.com/nix-community/home-manager
[65]: https://github.com/andsens/homeshick
[66]: https://github.com/technicalpickles/homesick
[67]: https://github.com/yarlson/lnk
[68]: https://github.com/lra/mackup
[69]: https://github.com/openbootdotdev/openboot
[70]: https://github.com/volllly/rotz
[71]: https://github.com/mjswensen/themer
[72]: https://github.com/oknozor/toml-bombadil
[73]: https://github.com/RaphGL/Tuckr
[74]: https://github.com/b3nj5m1n/xdg-ninja
[75]: https://github.com/yadm-dev/yadm
[76]: https://github.com/elkowar/yolk
[77]: https://github.com/kcrawford/dockutil
[78]: https://github.com/mas-cli/mas
[79]: https://dotfiles.github.io/
[80]: https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
[81]: https://specifications.freedesktop.org/basedir/basedir-spec-latest.html
[82]: https://wiki.archlinux.org/title/XDG_Base_Directory
[83]: https://web.archive.org/web/20180827160401/https://plus.google.com/+RobPikeTheHuman/posts/R58WgWwN9jp
[84]: https://github.com/jondot/awesome-devenv
[85]: https://github.com/jorgebucaran/awsm.fish
[86]: https://github.com/alebcay/awesome-shell
[87]: https://github.com/awesome-foss/awesome-sysadmin
[88]: https://github.com/unixorn/awesome-zsh-plugins
[89]: https://github.com/k4m4/terminals-are-sexy
[90]: https://antigen.sharats.me
[91]: https://github.com/bashdot/bashdot
[92]: https://github.com/barryclark/bashstrap
[93]: https://github.com/spencergibb/battleschool
[94]: https://github.com/mattly/bork
[95]: https://github.com/msanders/cider
[96]: https://github.com/donnemartin/dev-setup
[97]: https://github.com/kazhala/dotbare
[98]: https://github.com/jbernard/dotfiles
[99]: https://github.com/clayrisser/dotstow
[100]: https://github.com/eduardolundgren/dotfiles
[101]: https://github.com/ellipsis/ellipsis
[102]: https://web.archive.org/web/20260430004416/https://github.com/tversteeg/emplace
[103]: https://github.com/jh3y/kody
[104]: https://github.com/kevinSuttle/macOS-Defaults
[105]: https://osxc.github.io
[106]: https://github.com/pearl-core/pearl
[107]: https://github.com/rkalis/dotfiles
[108]: https://github.com/RichiH/vcsh
[109]: https://blog.tfnico.com/2014/03/managing-dot-files-with-vcsh-and-myrepos.html
[110]: https://www.kunxi.org/blog/2014/02/manage-dotfiles-using-vcsh-and-mr/
[111]: https://github.com/skwp/dotfiles
[112]: https://github.com/zero-sh/zero.sh
[113]: https://creativecommons.org/publicdomain/zero/1.0/
[114]: https://licensebuttons.net/p/zero/1.0/88x31.png
[115]: https://www.webpro.nl