Skip to content

Command Line Options

Youri Theodora Kopoulos Kirchner Mattar edited this page Jul 24, 2026 · 4 revisions

Global Options

hideDot supports the following command line options:

Flag Short Description
--config -c Path to config file (default: hidedot.conf.yaml)
--profile -p Only apply configs matching this profile
--dry-run -n Show what would be done without making changes
--verbose -v Enable verbose output with debug info
--quiet -q Only show errors
--no-color Disable colored output
--no-backup Disable automatic backups

Subcommands

Command Description
init Create a starter hidedot.conf.yaml (use --force to overwrite)
adopt <path>... Move existing files/dirs into the dotfiles dir, replace them with symlinks and add them to the config
link Create symlinks from config (default)
status Show status of all symlinks (OK, MISSING, BROKEN, MISMATCH)
unlink Remove symlinks (use --restore to restore backups)
backup create Manually create backups of all linked files
backup list List available backups

Subcommand flags

Command Flag Description
init --force, -f Overwrite an existing config file
adopt --to Destination inside the dotfiles dir (single path only)
adopt --no-config Print the config entry instead of writing it
unlink --restore, -r Restore files from backup after unlinking

Exit codes

hidedot exits 0 on success and 1 when any operation fails — a missing source, a symlink that could not be created, a failing hook — so it can be used in scripts and CI. Individual failures are still printed as they happen; the exit code just reflects that the run was not clean.

Example Usage

# Scaffold a starter config in the current directory
hidedot init

# Adopt existing files: move them into the dotfiles dir, symlink them back
# and add the entries to the config
hidedot adopt ~/.zshrc ~/.config/nvim

# Adopt into a specific location
hidedot adopt ~/.zshrc --to zsh/zshrc

# Use default config file (runs link command)
hidedot

# Explicitly run link command
hidedot link

# Specify custom config file
hidedot --config ~/custom-config.yaml

# Preview changes without applying them
hidedot --dry-run

# Apply only work profile configs
hidedot --profile work

# Verbose output for debugging
hidedot -v

# Check status of all symlinks
hidedot status

# Remove all symlinks
hidedot unlink

# Remove symlinks and restore original files from backup
hidedot unlink --restore

# Create manual backups
hidedot backup create

# List all available backups
hidedot backup list

# Combine options
hidedot -c ~/dotfiles/config.yaml -p personal -n -v

Clone this wiki locally