OmniGet is a unified command-line tool designed to simplify package management across WinGet and Scoop. It provides a consistent interface for installing, updating, searching, and managing software packages without requiring users to remember different syntax or commands for each underlying package manager.
Key Features:
Unified CLI support for install, update, search, and manage operations.
Automatic detection of installed package managers (WinGet and Scoop).
Cascading fallbacks that attempt installations across package managers if an app is unavailable in one.
Custom flag passthrough to the underlying tools.
Ability to force commands to specific package managers or disable cascading behavior.
Audience & Benefit:
Ideal for IT professionals, developers, and systems administrators who manage software on Windows environments. OmniGet streamlines workflows by reducing complexity, saving time, and ensuring seamless package management across multiple tools.
README
OmniGet 📦
A sleek, universal PowerShell wrapper for the three most popular Windows package managers: WinGet, Chocolatey, and Scoop.
Instead of remembering the nuances of three different CLIs, use the omniget command to systematically search, install, upgrade, and manage software across your entire ecosystem.
✨ Features
Universal Operations: Use standard commands like install, upgrade, uninstall, search, and list across all managers simultaneously.
Cascading Fallbacks: Automatically tries to find or install an app using WinGet first. If it fails, it gracefully falls back to Chocolatey, and then to Scoop.
Smart Upgrades: When running install or upgrade, it detects which package manager primarily tracks the tool and routes requests to prevent conflicting states.
Safe & Zero-Config: If a package manager is missing on a workstation, it safely skips it without throwing ugly PowerShell errors.
Chocolatey Automation: Automatically bypasses the annoying 20-second Chocolatey administrative warning prompt so non-elevated installations can quickly fallback and proceed without interruption.
Argument Passthrough: Append custom flags like --version and they are seamlessly passed down to the underlying tools.
Advanced Routing: Use --pm to force execution to a specific package manager, or --no-cascade to strictly target the highest priority tool without fallback.
Interactive TUI: For those who prefer menus, run omniget ui to manage your environment via an elegant Terminal UI using ANSI escape sequences.
Dry-Run Safe Mode: Use --dry-run with destructive operations to see exactly what would happen before making modifications.
🚀 Installation
There are three primary ways to setup OmniGet natively:
Option A: Add to System PATH (Recommended)
Add the folder containing OmniGet.ps1 to your Windows PATH environment variable. Once added, you can call omniget directly from any terminal!