Introduction to my Dotfiles

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.


  1. Refer to the XDG Base Directory Specification for more details. ↩︎

  2. I still work on them for the same reasons to this day! ↩︎


Articles from blogs I follow

What is smishing?

Phishing and smishing attacks keep evolving, but do you know the difference? Learn how to tell them apart and protect yourself from smishing.

via The Proton Blog

Announcing Rust 1.88.0

The Rust team is happy to announce a new version of Rust, 1.88.0. Rust is a programming language empowering everyone to build reliable and efficient software. If you have a previous version of Rust installed via rustup, you can get 1.88.0 with: $ rustup upd…

via Rust Blog

Leveling Up Agents with MCPs

Kent Dodds provides a thorough overview of MCP (Model Context Protocol) and how it is changing the way we interact with software.

via Zed Industries - Blog

Generated by openring