A fast, extensible CLI utility to create snapshots of dotfiles and configuration

Why dotsnapshot?

🚀 Fast & Lightweight

Built in Rust for maximum performance. Create snapshots in milliseconds, not seconds.

🔧 Extensible Plugin System

Modular architecture with plugins for different tools and configurations. Easy to extend and customize.

📦 Cross-Platform

Works seamlessly on macOS, Linux, and Windows. One tool for all your environments.

⚡ Zero Dependencies

Single binary with no external dependencies. Just download and run.

Installation

Homebrew (macOS/Linux)

brew install tomerlichtash/tools/dotsnapshot

Cargo (Rust)

cargo install dotsnapshot

Direct Download

curl -L https://github.com/tomerlichtash/dotsnapshot/releases/latest/download/dotsnapshot-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m).tar.gz | tar -xz

Quick Start

Get started with dotsnapshot in seconds:

Check available plugins:

dotsnapshot --list

Create a snapshot:

dotsnapshot snapshot --plugins vim,git,zsh

View snapshot info:

dotsnapshot --info

Get help:

dotsnapshot --help

Features

  • ✅ Create snapshots of dotfiles and configurations
  • ✅ Plugin-based architecture for extensibility
  • ✅ Cross-platform support (macOS, Linux, Windows)
  • ✅ Fast Rust implementation
  • ✅ Shell completions (bash, zsh, fish)
  • ✅ Man page documentation
  • ✅ Zero external dependencies

Contributing

dotsnapshot is open source and welcomes contributions! Check out the GitHub repository to:

  • Report bugs or request features
  • Submit pull requests
  • Add new plugins
  • Improve documentation