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

dotling add

Add files or directories to tracking.

Usage

dotling add <PATHS> [OPTIONS]

Arguments

ArgumentDescription
<PATHS>One or more file or directory paths to track

Options

FlagDescription
--encryptEncrypt the file(s) using the vault password
--copyDeploy as a copy instead of a symlink
--templateTrack as a template: rendered on each sync with machine-local variables
--os <platform>Restrict to a specific OS: linux, macos, windows

Description

dotling add moves files from their original location into the repo and deploys a symlink (or copy) back. The file is recorded in dotling.toml with its source (repo-relative) and target (original) paths.

Automatic path mapping

Files are organized into categories in the repo. See Path Mapping for the full mapping rules.

Directories

When adding a directory, dotling tracks it as a single entry in dotling.toml with directory: true. The entire directory is moved into the repo and deployed as a unit (symlink or copy).

Encryption

With --encrypt, the file is encrypted using the vault’s master key before being stored in the repo. You’ll be prompted for your vault password if the vault is locked.

Templates

With --template, the source file is tracked as a template (using the template: true field in dotling.toml). On each sync, dotling renders the template with variables and writes the output to the target. See Templates for syntax details.

OS restriction

With --os, the entry is tagged for a specific platform and will only be deployed when the current OS matches.

Examples

# Track a single file
dotling add ~/.zshrc

# Track a directory
dotling add ~/.config/nvim

# Track with encryption
dotling add ~/.ssh/config --encrypt

# Track as a copy (not symlink)
dotling add ~/.config/some-app --copy

# Track as a template
dotling add ~/.config/nix-darwin/flake.nix --template

# Track for a specific OS
dotling add ~/.bashrc --os linux

# Combine flags
dotling add ~/.config/secret.conf --template --encrypt --os macos