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
- Support for popular free cloud storage services
- Automatic save location detection
- Launch desktop applications
- Fuzzy finding
- Frecency (Higher ranking for frequently and recently used apps)
- Based on reusing Terminal windows using scratchpads
curl -fsSL https://raw.githubusercontent.com/instantOS/instantCLI/main/scripts/install.sh | shSet INSTALL_DIR to override the destination directory (defaults to a writable user bin in your PATH, otherwise /usr/local/bin).
Check before you pipe :)
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
sudo pacman -Sy git fzf restic sqlite --neededsudo apt update; sudo apt install -y git fzf restic libsqlite3-dev sqlite3ins 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
├── mytheme/ # Optional: theme-specific configs
│ └── .config/
│ └── kitty/
│ └── theme.conf
└── myothertheme/ # Optional: theme-specific configs
└── ...
# 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