Skip to content

A dotfile manager TUI written in Go

License

Notifications You must be signed in to change notification settings

AntoineGS/tidydots

Repository files navigation

tidydots

A cross-platform dotfile management tool written in Go. Manage configuration files through symlinks, render templates for machine-specific configs, install packages, and clone git repositories --- all from a single YAML file.

For comprehensive documentation, visit tidydots.io.

image

Features

  • Symlink-based config management --- edits sync instantly, no copying
  • Cross-platform --- Linux and Windows with OS-specific target paths
  • Template rendering --- Go templates for machine-specific configuration
  • Multi-package-manager support --- pacman, yay, paru, apt, dnf, brew, winget, scoop, choco
  • Interactive TUI --- Bubble Tea terminal interface for visual management
  • Git repository management --- clone and update repos as packages
  • Smart adopt workflow --- migrates existing configs automatically
  • Dry-run mode --- preview every operation before it runs

Installation

go install github.com/antoinegs/tidydots/cmd/tidydots@latest

Or build from source:

git clone https://github.com/antoinegs/tidydots.git
cd tidydots
go build ./cmd/tidydots

Quick Start

  1. Initialize with your dotfiles repository:

    tidydots init /path/to/your/dotfiles
  2. Create a tidydots.yaml in your dotfiles repo:

    version: 3
    
    applications:
      - name: "nvim"
        entries:
          - name: "nvim-config"
            backup: "./nvim"
            targets:
              linux: "~/.config/nvim"
              windows: "~/AppData/Local/nvim"
        package:
          managers:
            pacman: "neovim"
            apt: "neovim"
  3. Restore your configs:

    tidydots restore

    or let the TUI guide you through the process:

    tidydots

See the Quick Start guide for a full walkthrough, or explore the configuration reference for all available options.

Documentation

The full documentation is available at tidydots.io and covers:

License

MIT

About

A dotfile manager TUI written in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •