Inhoudsopgave
Elke developer heeft ze, maar weinigen beheren ze bewust: dotfiles. Het zijn de verborgen configuratiebestanden op je systeem die beginnen met een punt, zoals .zshrc, .gitconfig of .vimrc. Ze bepalen hoe je terminal eruitziet, welke aliassen je hebt, hoe git zich gedraagt en nog veel meer. Zolang je op één machine werkt merk je ze nauwelijks, maar zodra je een nieuw systeem opzet of tussen machines wisselt, besef je hoeveel werk er in die bestanden zit.
Waarom dotfiles beheren
Een nieuwe laptop opzetten zonder je dotfiles kost uren. Je installeert tools, configureert je shell, stelt aliassen opnieuw in en probeert te onthouden hoe je alles ook alweer had ingericht. Met een goed beheerd dotfiles-repository doe je dat in minuten. Je kloont je repo, voert een installatiescript uit en je omgeving is identiek aan die van je vorige machine. Dat is niet alleen handig bij een nieuwe laptop, maar ook als je regelmatig op servers of in containers werkt.
Git als fundament
De meest gebruikte aanpak is een git-repository met al je dotfiles erin. Je maakt een map aan — vaak ~/.dotfiles — en plaatst daar je configuratiebestanden in. Vervolgens gebruik je symlinks om die bestanden op de verwachte locatie beschikbaar te maken. Een tool zoals GNU Stow maakt het aanmaken van die symlinks eenvoudig en overzichtelijk. Zo blijven je bestanden op één plek beheerd via git, terwijl je systeem ze op de juiste locatie ziet staan.
Structuur en modulariteit
Een dotfiles-repo groeit snel als je er niet op let. Houd het overzichtelijk door per tool een aparte map aan te maken — een map voor zsh, een voor git, een voor tmux. Elk van die mappen bevat de bijbehorende configuratiebestanden. Een centraal installatiescript koppelt alles aan elkaar en installeert eventueel ook de benodigde tools via een packagemanager zoals Homebrew of apt. Die modulariteit maakt het ook makkelijk om op een server alleen de relevante onderdelen te installeren zonder de rest mee te slepen.
Geheimen en gevoelige data
Niet alles hoort in een publieke git-repository. API-sleutels, tokens en wachtwoorden mogen nooit in je dotfiles terechtkomen. De standaardoplossing is een apart bestand — bijvoorbeeld .env.local of .secrets — dat je uitsluit via .gitignore en lokaal beheert. Je hoofdconfiguratiebestanden sourcen dat bestand dan indien het bestaat. Voor teams of meerdere machines is een tool zoals 1Password CLI of sops een nettere oplossing die geheimen versleuteld opslaat en beschikbaar maakt zonder ze ooit in plaintext in git te zetten.
Dotfiles als levend document
Een dotfiles-repo is nooit af. Je voegt aliassen toe, ontdekt nieuwe tools en past je workflow aan. Behandel je dotfiles daarom als een levend document: commit regelmatig, schrijf duidelijke commitberichten en voeg comments toe in je configuratiebestanden zodat je over een jaar nog begrijpt waarom je iets op een bepaalde manier hebt ingesteld. Kijk ook eens naar de dotfiles van anderen op GitHub — de community deelt vrijelijk en je leert er verrassend veel van over tools en instellingen die je zelf nog niet kende.