Kelly Mears

Dotfiles

A tracked repository of personal configuration, making a machine setup reproducible.

Systems & Tooling1 min read195 words15 out · 11 in
also calledDotfile repo

Dotfiles are the hidden configuration files that define a personal computing environment — shell setup, editor preferences, tool configuration — and, by extension, the tracked repository people keep them in.

The point is reproducibility: a new machine becomes a checkout and a setup script rather than weeks of rediscovery. The secondary benefit is larger than expected — having the configuration under version control makes it editable with confidence, since any change can be reverted.

A dotfiles repository has a characteristic structure. Configuration that respects XDG Base Directory Specification lives in a tracked directory the tools already look in. Configuration that does not is tracked and symlinked into place. Data directories, caches, and credential stores are deliberately excluded, which usually means a whitelist-style ignore file — ignore everything, then re-include the specific things worth keeping.

Package manifests belong here too: a declarative list of installed software makes the machine reconstructible rather than merely configured. And the maintenance activity that pays best is periodic deletion — a dotfiles repository accumulates configuration for tools that were uninstalled long ago, and every stale entry is a small piece of misdirection for the next person to read it, including yourself.

See also14

Symbolic Link

A file that points at another path, resolved transparently by most operations.

Systems & Tooling14 connections

Terminal User Interface

An interface rendered as text in a terminal, and the design conventions that make command-line tools humane.

Graphics & Rendering16 connections

Shell

The interactive command interpreter, and a programming language with unusually sharp edges.

Systems & Tooling24 connections

Package Manager

The tool that resolves, fetches, and installs dependencies, and pins them for reproducibility.

Systems & Tooling27 connections

Environment Variable

A named value in a process's environment, inherited by its children — the standard configuration channel.

Systems & Tooling23 connections

Silent Failure

A failure that produces no signal, so the absence of an error reads as success.

Method73 connections

Time Zone

Civil time is a political layer over solar time, and its rules change often enough to be data.

Systems & Tooling21 connections

Secret Management

Storing, distributing, and rotating credentials without embedding them in code or history.

Systems & Tooling33 connections

Containerization

Packaging an application with its dependencies into an isolated, reproducible runtime unit.

Systems & Tooling33 connections

Linux Distribution

A complete operating system assembled around the Linux kernel, combining it with system tools, a package manager, and a set of opinions about release cadence, defaults, and freedom, with hundreds in active use.

Systems & Tooling13 connections

Desktop Environment

The bundle of software that makes up a graphical desktop, including the window manager, panels, file manager, settings and a shared look, which on Linux is a choice among independent projects rather than part of the operating system.

Systems & Tooling14 connections

Ricing

The hobby of customizing a computer desktop's appearance into a coherent look, and the online culture of sharing screenshots and configuration files.

Meaning & Society9 connections

Secure Shell

The encrypted protocol for logging into and running commands on remote machines, authenticated by key pairs, that also tunnels other traffic and underpins Git.

Systems & Tooling18 connections

Command-Line Interface

Operating a computer by typing commands and reading text replies, the interface inherited from teletypes that remains the fastest, most scriptable, and least discoverable way to control software.

Systems & Tooling14 connections

Linked from11