InstantCLI

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.
Features
Dotfile Management
- 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
Game Save Management
- Centralized game save backup and restore
- Support for popular free cloud storage services
- Automatic save location detection
Application Launcher
- Launch desktop applications
- Fuzzy finding
- Frecency (Higher ranking for frequently and recently used apps)
- Based on reusing Terminal windows using scratchpads
Installation
Quick install
curl -fsSL https://raw.githubusercontent.com/instantOS/instantCLI/main/scripts/install.sh | sh
Set 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
cargo install ins
AUR
yay -S ins
From Source
git clone https://github.com/your-username/instantCLI.git
cd instantCLI
just install
just rootinstall
Dependencies
- Rust
- Git
- FZF
- Restic
- SQLite3
Arch
sudo pacman -Sy git fzf restic sqlite --needed
Ubuntu
sudo apt update; sudo apt install -y git fzf restic libsqlite3-dev sqlite3
Dotfile Management
Dotfile Structure
ins 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
└── ...
Development
Building
cargo build
cargo build --release
cargo run -- --debug <command>
Testing
cargo test
just test