Skip to main content

My dotfiles setup

· 2 min read

I've finally organized my development environment setup into a proper dotfiles repository. After years of manually configuring each new machine, I decided to automate the whole process.

The repository includes everything I need to get a new macOS machine up and running: Homebrew packages, git configuration, zsh setup with oh-my-zsh, and global npm packages. It's all managed through bootstrap scripts that handle the installation and configuration.

What's included

The setup covers the main areas of my development environment:

Homebrew - All my essential packages and applications. Development tools like git, node, and python, plus applications via Cask like VS Code, Chrome, and Slack. Even fonts get installed automatically.

Git - Global configuration with my preferred settings, delta diff viewer setup, and Git LFS support. I can customize the user settings before running the bootstrap.

Zsh - Oh-my-zsh framework with my custom plugins and theme. Helpful functions and aliases that I've accumulated over the years, plus PATH configuration for common tools.

npm - Global npm packages that I use across projects.

The bootstrap process

The main bootstrap.sh script walks through the setup process step by step. Each component has its own bootstrap script, so I can run individual parts if I only need to update something specific. It's made setting up new machines so much faster—what used to take hours of manual configuration now takes minutes.

The repository is available on GitHub if you want to see how it's structured or use it as a starting point for your own setup. It's a work in progress, but having everything in one place and automated has been a game changer for me.