A powerful, Rust-based command-line tool for managing dotfiles, game saves, system diagnostics, and instantOS configurations. InstantCLI provides a decentralized approach to dotfile management that respects user modifications while enabling easy theme and configuration switching.
- Multi-repository support with priority-based overlaying
- Smart modification detection using hashes to protect user changes
- Subdirectory management for organizing different configuration sets like themes
- Centralized game save backup and restore
- Automatic save location detection
- Comprehensive system health checks
- Automated fixes for common issues
- InstantOS-specific optimizations
- Fast application discovery and launching
- Integration with system applications
- FZF-powered interactive dialogs
- Confirmation prompts and selection menus
- Shell script integration utilities
- Toggle-able floating terminal windows
- Named scratchpads for different workflows
- Custom terminal and sizing options
cargo install insyay -S ins# Clone the repository
git clone https://github.com/your-username/instantCLI.git
cd instantCLI
# Build and install locally
just install
# Or install system-wide (requires sudo)
just rootinstall- Rust
- Git
- FZF
- Restic
- SQLite3
InstantCLI expects dotfile repositories to have a specific structure:
your-dotfiles-repo/
├── instantdots.toml          # Repository metadata
├── dots/                     # Main dotfiles directory
│   ├── .config/
│   │   ├── kitty/
│   │   │   └── kitty.conf
│   │   └── nvim/
│   │       └── init.vim
│   └── .bashrc
├── themes/                   # Optional: theme-specific configs
│   └── .config/
│       └── kitty/
│           └── theme.conf
└── configs/                  # Optional: additional configurations
    └── ...
# Debug build
cargo build
# Release build
cargo build --release
# Run with debug logging
cargo run -- --debug <command># Run all tests
cargo test
# Run integration tests
just test