Over time, I’ve accrued a fair amount of dotfiles. I thought I would share an overview of them through a series of blog posts, starting now!
↪ Background
Dotfiles is a term that represents your user’s configuration. In an ideal
scenario, you can copy them between machines and easily have the same setup.
Many times these configuration files can be found underneath
${XDG_CONFIG_HOME:-$HOME/.config}
1.
↪ History
I started tracking my dotfiles in college, specifically . I worked on them off and on during the school years to procastinate on studying and doing homework2. My dotfiles are primarily stored on SourceHut, but were originally stored on GitHub, where I keep a mirror to this day.
↪ Structure
I use GNU Stow to manage my dotfiles. It is packaged on the systems I care about, semi-maintained, not some cobbled together symlink kludge of my own doing. I learned about stow early on in my dotfiles history, and my original commit made use of it.
Stow organizes content into packages, so a bash
package would typically
contain any information related to bash
. My original commit contained 4
packages. At the time of writing, I have 51 packages, which are all listed in
the repository’s README. It’s a fairly large repository these days, with over
1300 commits. My largest package is definitely my Neovim configuration. If
it’s a tool that I use, and it has a configuration, whether that be via
environment variables or a file, I have it stowed in my dotfiles.
↪ Licensing
My dotfiles are licensed under the CC0-1.0, meaning they exist in the public domain. Please steal them as you wish!
↪ Conclusion
This was just a general overview of my dotfiles. I hope to break it down into more details over the next series of posts.
Refer to the XDG Base Directory Specification for more details. ↩︎
I still work on them for the same reasons to this day! ↩︎