hideDot

A blazing fast dotFiles manager written in Go

Features

๐Ÿš€

Fast Symlink Management

Quickly manage and organize all your symlinks with blazing speed.

๐Ÿ”™

Automatic Backups

Files are automatically backed up before being overwritten for safety.

๐Ÿ“‹

Status Command

Check symlink health with OK, MISSING, BROKEN, and MISMATCH states.

๐Ÿท๏ธ

Profiles

Different configurations for different machines or environments.

๐Ÿ“

Templates

Use variables like hostname, OS, arch in your configuration.

๐Ÿช

Hooks

Run custom commands before and after link/shell operations.

๐Ÿ”„

Git Repository Cloning

Easily clone and manage your Git repositories in one place.

๐Ÿ› ๏ธ

Shell Commands

Run shell commands with stdin support for creating files.

๐Ÿงช

Dry-Run Mode

Preview changes before applying them with a comprehensive dry-run mode.

Getting Started

1Installation

Install hideDot using Homebrew:

brew tap youhide/homebrew-youhide
brew install hidedot

2Create Configuration

Create a hidedot.conf.yaml file:

- defaults:
    link:
      relink: true
      force: true
      backup: true  # Enable automatic backups
  
  profile: personal  # Optional: for multi-machine setups
  
  # Create directories
  create:
    - ~/.config
    - ~/.local/bin
  
  # Manage symlinks
  link:
    ~/.config/nvim: ~/.mydotfiles/nvim
    ~/.zshrc: ~/.mydotfiles/zsh/zshrc
  
  # Clone git repositories
  git:
    ~/.oh-my-zsh:
      url: https://github.com/ohmyzsh/ohmyzsh.git
      description: "Oh My Zsh"

  # Run shell commands
  shell:
    - [touch ~/.hushlogin, Create hushlogin]
  
  # Hooks for custom actionsto create symlinks:

# Create symlinks (default command)
hidedot

# Or with custom config
hidedot --config path/to/hidedot.conf.yaml

# Preview changes first
hidedot --dry-run

# Check status of symlinks
hidedot status

# Remove symlinks and restore backups
hidedot unlink --restore

Commands

  • link: Create symlinks from config (default)
  • status: Show status of all symlinks
  • unlink: Remove symlinks (use --restore to restore backups)
  • backup create/list: Manage backups

Options

Command Options