██████╗ ███╗ ███╗███╗ ██╗██╗
██╔═══██╗████╗ ████║████╗ ██║██║
██║ ██║██╔████╔██║██╔██╗ ██║██║
██║ ██║██║╚██╔╝██║██║╚██╗██║██║
╚██████╔╝██║ ╚═╝ ██║██║ ╚████║██║
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝
User Guide
omni install <package>
omni install <package> --box-type <manager> # Force a specific manager
omni install --from packages.yaml # From a manifestOmni detects the current platform, picks the best available manager, and runs the install. The result is logged to the local SQLite database.
Examples:
omni install git
omni install firefox --box-type flatpak
omni install --from dev-environment.yamlomni remove <package>
omni remove <package> --box-type <manager>Examples:
omni remove firefox
omni remove vlc --box-type snapomni search <query>
omni search <query> --limit <n> # Default limit: 20Searches all available package managers on the current platform and deduplicates results, preferring installed packages in the ranking.
Examples:
omni search browser
omni search "text editor" --limit 10omni info <package>
omni info <package> --box-type <manager>Fetches package metadata from the specified or detected package manager. Results are cached for one hour.
omni update # List available updates
omni update <package> # Update a specific package
omni update --all # Apply all updates
omni update --all --refresh # Refresh repos then updateomni list # All installed packages
omni list --box-type <manager> # Filter by manager
omni list --detailed # Include version and install dateomni history show # Last 20 operations
omni history show --limit 50 # Custom limit
omni history undo # Reverse the last operationEvery install, update, and removal is recorded with package name, box type, version, timestamp, and status.
Capture the full set of installed packages at a point in time and restore to it later.
omni snapshot create <name>
omni snapshot create <name> --description "Notes about this snapshot"
omni snapshot list
omni snapshot revert <name-or-id>Typical workflow:
omni snapshot create "pre-experiment"
omni install some-new-tool
# Something breaks
omni snapshot revert "pre-experiment"Inspect what would be installed before committing.
omni resolve <package>
omni resolve <package> --detailed # Show dependency tree
omni resolve <package> --box-type apt # Constrain to one manageromni verify <file> --checksum <sha256>
omni verify <file> --signature <sig-file-or-url>
omni verify <file> --checksum <sha256> --box-type aptTrust levels returned: Trusted → Valid → Unsigned → Untrusted
omni hardware detect # Identify hardware
omni hardware install # Auto-install optimal drivers
omni hardware vendor <name> # Vendor-specific driversSupported vendors: Dell · HP/HPE · Supermicro · Lenovo · Cisco UCS
omni repository add <url> # Add a repository
omni repository add <url> --repo-type ppa --key-url <key-url>
omni repository remove <name> # Remove a repository
omni repository list # List configured repositories
omni repository refresh # Refresh metadataomni web --port 3000
# Navigate to http://127.0.0.1:3000The server binds on localhost only. REST API:
| Method | Path | Description |
|---|---|---|
| GET | /api/system/info |
OS, architecture, active managers |
| GET | /api/packages/installed |
Tracked installed packages |
| GET | /api/packages/search?q=<q>&limit=<n> |
Live search |
| POST | /api/packages/install |
{"package":"...", "box_type":"..."} |
| POST | /api/packages/remove |
{"package":"...", "box_type":"..."} |
omni config show # Print active config
omni config edit # Open in $EDITOR
omni config reset # Restore defaultsConfig file location: ~/.config/omni/config.yaml
See CONFIGURATION.md for all fields and examples.
Run any command without touching the system. Safe for CI, scripting, and testing.
omni --mock install firefox
omni --mock remove curl
omni --mock update --allomni gui
# Requires: cargo build --features guiomni --verbose install firefox # Extra log output to terminalLog level can also be set in config (log_level: debug) for persistent verbosity.
version: "1.0"
name: "Development Environment"
description: "Standard dev tools"
packages:
- name: git
- name: curl
- name: nodejs
- name: dockerInstall with:
omni install --from dev-environment.yamlPackage not found
omni repository refresh
omni search <partial-name> # Try a broader search termPermission denied
Some package managers require elevated privileges. Run with sudo on Linux/macOS or an elevated terminal on Windows when necessary.
Manager-specific failure with fallback
If fallback_enabled: true in config (default), Omni will try the next manager in preferred_order automatically. Check omni history show to see which manager succeeded.