Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting Started

Installation

cargo install dotling

Prebuilt binaries

Download a prebuilt binary from the latest GitHub release:

PlatformBinary
Linux (x86_64, glibc)dotling-x86_64-linux.tar.gz
Linux (x86_64, musl)dotling-x86_64-linux-musl.tar.gz
Linux (aarch64)dotling-aarch64-linux.tar.gz
macOS (Intel)dotling-x86_64-macos.tar.gz
macOS (Apple Silicon)dotling-aarch64-macos.tar.gz
# Example: Linux x86_64
curl -fsSL https://github.com/auricvex/dotling/releases/latest/download/dotling-x86_64-linux.tar.gz \
  | tar xz -C ~/.local/bin/

Homebrew (macOS & Linux)

brew tap auricvex/auricvex
brew install dotling

Nix

nix run github:auricvex/dotling

Quick Start

1. Initialize a dotfiles repo

# Create a new repo
dotling init ~/dotfiles

# Or clone an existing one
dotling init git@github.com:you/dotfiles.git

This creates the repo directory, initializes git, and writes a dotling.toml config file.

2. Track your config files

dotling add ~/.zshrc
dotling add ~/.config/nvim

dotling moves each file into the repo (organized by category) and deploys a symlink back to the original location. See Path Mapping for how files are organized.

3. Sync everything

dotling sync

This pushes repo files to their actual locations (creating or fixing symlinks) and pulls any copy-mode entries that were modified locally.

4. Commit and push

Since dotling doesn’t wrap git, use native commands:

cd ~/dotfiles
git add .
git commit -m "initial setup"
git push

5. Set up a new machine

# Clone your dotfiles repo
dotling init git@github.com:you/dotfiles.git

# Deploy everything
dotling sync

# If you have encrypted entries, import your vault first
dotling vault import my-vault.bundle
dotling sync

Next steps