What Are the Dependencies for the Omarchy CLI?

The omarchy CLI requires core system utilities such as bash, jq, and curl, along with Arch Linux packages listed in install/omarchy-base.packages and optional extensions in install/omarchy-other.packages.

The omarchy command-line interface is the primary entry point for managing the Omarchy desktop environment on Arch Linux. Understanding its dependencies ensures smooth installation and troubleshooting when running commands like omarchy version or omarchy toggle-touchpad. These dependencies are explicitly defined in the repository's installation manifests and enforced at runtime through helper functions.

Core Dependencies Defined in install/omarchy-base.packages

The canonical list of required packages lives in install/omarchy-base.packages. This file enumerates every Arch Linux package that must be present before the CLI can execute reliably.

Shell and Core Utilities

  • bash, coreutils, sed, awk: Provide the fundamental scripting environment used by bin/omarchy.
  • jq: Parses JSON configuration files during commands like omarchy refresh-config.
  • curl: Downloads remote resources and updates.
  • git: Manages repository clones for version control operations.

System Management Tools

  • systemd: Required for service management commands.
  • sudo: Elevates privileges for package installation and system modifications.
  • pacman: The Arch package manager used to install missing components.
  • archlinux-keyring and omarchy-keyring: Ensure package signature verification when installing dependencies.

Graphics and Multimedia Libraries

  • qt6-base, qt6-multimedia, qt6-multimedia-ffmpeg: Support video background features and media queries.
  • ffmpeg: Handles video encoding and decoding tasks.
  • mesa and vulkan-tools: Provide graphics API support for hardware detection.

Audio and Networking Stack

  • pipewire, pipewire-pulse: Modern audio server for volume control commands.
  • alsa-utils: Fallback audio utilities.
  • networkmanager: Manages network connections via CLI helpers.
  • bluez and bluetoothctl: Enable Bluetooth toggle functionality.

Hardware-Specific Helpers

  • nvidia, intel-ucode, amd-ucode: Chipset microcode and proprietary driver support.
  • xorg-xhost, xprop, xrandr: X11 utilities for display management commands like omarchy toggle-touchpad.
  • brightnessctl: Controls screen brightness.
  • udisks2: Provides disk management capabilities for speed tests and mounting.

Optional Dependencies in install/omarchy-other.packages

Extended functionality resides in install/omarchy-other.packages. These packages are not required for basic CLI operation but enable specific features when installed.

  • steam, discord, vscode: Application-specific integrations.
  • mpv: Advanced media player support.
  • Additional drivers and firmware packages for specialized hardware configurations.

Runtime Dependency Enforcement in bin/omarchy

The bin/omarchy entry point validates the environment before executing commands. It sources helper functions that check for required binaries and packages:

  • omarchy-cmd-present: Verifies that core utilities like jq and curl exist in $PATH.
  • omarchy-pkg-present: Queries pacman to confirm Arch packages from install/omarchy-base.packages are installed.

If a dependency is missing, the CLI aborts with an error message indicating which package or command must be installed.

Automated Installation via install/post-install/pacman.sh

For automated setup, the repository includes install/post-install/pacman.sh. This script reads install/omarchy-base.packages and installs the entire dependency tree using pacman. Running this script ensures the omarchy CLI has every required component before first use.

Practical CLI Usage Examples

After installing dependencies, common omarchy commands rely on the validated toolchain:


# Verify installation and display version

omarchy version

# Refresh configuration files using jq parsing

omarchy refresh-config hypr/hyprland.lua

# Toggle hardware features requiring X11 utilities and sudo

omarchy toggle-touchpad

# Install optional features that pull from omarchy-other.packages

omarchy voxtype install

Summary

  • The omarchy CLI depends on core utilities (bash, jq, curl, git) and Arch Linux packages listed in install/omarchy-base.packages.
  • Graphics, audio, and hardware support require additional packages like qt6-multimedia, pipewire, and nvidia drivers.
  • Optional features pull from install/omarchy-other.packages.
  • Runtime checks in bin/omarchy use omarchy-cmd-present and omarchy-pkg-present to validate dependencies.
  • Fresh installations can use install/post-install/pacman.sh to automatically install all requirements.

Frequently Asked Questions

What happens if a dependency is missing when I run an omarchy command?

The CLI will detect the missing component using omarchy-cmd-present or omarchy-pkg-present and exit with an error message specifying exactly which package or binary must be installed to proceed.

Can I use omarchy CLI without installing all optional packages from install/omarchy-other.packages?

Yes. The CLI functions with only the base packages from install/omarchy-base.packages. Optional packages enable extra features like Steam integration or VS Code support but are not required for core operations such as omarchy version or omarchy refresh-config.

Where does omarchy check for installed packages at runtime?

The bin/omarchy script enforces dependency validation through helper functions that query the system $PATH for commands and use pacman to verify package presence from the lists in install/omarchy-base.packages before executing user commands.

How do I install all dependencies automatically on a new Arch Linux system?

Run the install/post-install/pacman.sh script included in the repository. This script reads the dependency lists and uses pacman to install all required packages, ensuring the CLI is ready to use immediately after installation.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →