An Empirical Study of Dotfiles Repositories Containing User-Specific Configuration Files
Wenhan Zhu, Michael W. Godfrey

TL;DR
This study analyzes publicly available GitHub dotfiles repositories to understand sharing practices, common configurations, update motivations, and implications for tool design, revealing widespread adoption and insights into developer behaviors.
Contribution
It provides the first comprehensive empirical analysis of dotfiles repositories, highlighting their prevalence, common configuration types, update drivers, and challenges faced by developers.
Findings
25.8% of top 500 GitHub users maintain dotfiles repositories
Vim and shell configurations are most common in dotfiles
Configuration updates are mainly driven by need for adjustments and project management
Abstract
Storing user-specific configuration files in a "dotfiles" repository is a common practice among software developers, with hundreds of thousands choosing to publicly host their repositories on GitHub. This practice not only provides developers with a simple backup mechanism for their essential configuration files, but also facilitates sharing ideas and learning from others on how best to configure applications that are key to their daily workflows. However, our current understanding of these repository sharing practices is limited and mostly anecdotal. To address this gap, we conducted a study to delve deeper into this phenomenon. Beginning with collecting and analyzing publicly-hosted dotfiles repositories on GitHub, we discovered that maintaining dotfiles is widespread among developers. Notably, we found that 25.8% of the top 500 most-starred GitHub users maintain some form of publicly…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsService-Oriented Architecture and Web Services · Distributed and Parallel Computing Systems · Software System Performance and Reliability
