I love dotfiles. “Dotfiles” is a term that refers to configuration files used to configure software and operating systems. They are called such because often these files start with a dot. You may have seen .bashrc , .tmux.conf or .zshrc in the wild. Whenever a software doesn’t offer direct file-based configuration, I feel sad because it means I need to take extra steps to keep my configuration across different devices in sync or when setting up a new machine. I love sharing. I regularly publish ideas and experiences in my blog, I share my notes in my digital garden and I publish almost all the code I write (outside work) as open source in GitHub. I love to read other people’s dotfiles and learn from them. Yet, somehow I feel like sharing my own dotfiles to the world is beyond my comfort zone. I feel my customisations and aliases and other decisions are too intimate and personal to share. I don’t quite know why though. I have a really cool repository where I keep my dotfiles and there’s quite a lot there. There’s the usual suspects like my zsh config and aliases, my tmux configuration and my neovim and vscode stuff too. And my Python startup script. I also keep my Homebrew core list there: that’s all the packages I want to always have at hand. Having them all in one place to be installed with a single command on a new computer is lovely. I also keep my Stylus CSS rules there so I can easily bring the experience I want on any browser I use. I use GNU Stow to manage most of these. For anything that’s directly applicable by copying the files into a given folder, I’ve set up the folder structure so that running stow [folder] will create symlinks to right places: any change made into the repository from any machine will apply to all machines. It’s so cool. All in all, my dotfiles repository is home to 19 configuration files + everything my neovim installation has, plugins and all. For now however, I keep them secret, keep them safe until I feel better about sharing my dotfiles with the world.