Designed by Martin Stoleru. Developed by Alinus Dumitrana

My dotfiles repository is how I keep every machine I use configured identically. Managed with chezmoi, it handles everything from shell configuration to editor setup to package installation. A fresh macOS system goes from factory defaults to ready-for-development in minutes, with minimal manual intervention.

How It Works

Chezmoi manages the dotfiles as templates in a Git repository. When you run chezmoi apply, it reconciles the desired state (what's in the repo) with the actual state (what's on your machine), applying only the differences. This means:

  • Running it on a fresh machine sets everything up from scratch
  • Running it on an existing machine applies only what's changed
  • Machine-specific differences (work vs personal) are handled through chezmoi's templating

What Gets Configured

Shell — zsh with a curated set of plugins, custom aliases, functions, and a prompt that shows what I need without getting in the way.

Editors — Neovim as the primary editor with a full LSP setup, and VS Code configured as a backup. Both share the same keybinding philosophy where possible.

Git — global aliases, commit signing, hooks, ignore patterns, and diff tools. All the small things that make Git comfortable to use hundreds of times a day.

Packages — Homebrew handles macOS packages and casks. The Brewfile in the repo is the source of truth — brew bundle installs everything in one pass.

Terminal — emulator preferences, font configuration (I use a patched Nerd Font), and color schemes that match across terminal and editors.

Why Chezmoi

I tried plain symlinks, GNU Stow, and a custom shell script before settling on chezmoi. What sold me:

  • Templating — different values per machine without maintaining separate branches
  • Encryption — secrets (API keys, tokens) are encrypted in the repo with age
  • Idempotent — safe to run repeatedly, only applies what's changed
  • Cross-platform — works on macOS and Linux, which matters for my home lab nodes

Built by

Alinus Dumitrana

Other Projects

Check out more of my work.

Jan 2025

Atlas

A personal website built with Rust and Axum — server-rendered with minimal JavaScript, and on-demand PDF generation.

Read more
Mar 2024

Snippy

A self-contained snippet manager — API, web UI, and CLI packed into a single Go binary with embedded assets.

Read more