How I organize and version my configs

Overview of how I structure and version my development environment configs — including dotfiles, shells, terminal, and editor configs.

Author Avatar

Cássio

  ·  1 min read

Hello everyone! 👋

In this post, I’d like to share how I organize and version my configuration files.

With this setup, I keep the following configs tracked in Git:

  • Dotfiles: configuration files that start with a . and usually live in your home folder;
  • Shell configurations: PowerShell and ZSH;
  • Editor configurations: currently just Neovim.

How it works #

For managing my dotfiles, I use dotbot tool. It greatly simplifies the process and makes it easy to keep everything under version control.

My shell configurations live in separate repositories, one for PowerShell and another for ZSH. They are still referenced inside my dotfiles repo, but I keep them split out mainly for organization.

I also use Oh My Posh as prompt theming engine for both shells, with theme configurations stored in a dedicated repo. This repo is also integrated with my dotfiles.

Repositories #

Next steps #

  • Add other dotfiles to version control:
    • Visual Studio Code;
    • Integrate Windows Terminal configs currently versioned here.