# What Are the Dependencies for the Omarchy CLI?

> Discover Omarchy CLI dependencies. Learn about required system utilities like bash jq curl and essential Arch Linux packages needed for seamless operation. Get your Omarchy CLI setup fast.

- Repository: [Omacom/omarchy](https://github.com/omacom/omarchy)
- Tags: how-to-guide
- Published: 2026-09-12

---

**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`](https://github.com/omacom/omarchy/blob/main/install/post-install/pacman.sh)

For automated setup, the repository includes [`install/post-install/pacman.sh`](https://github.com/omacom/omarchy/blob/main/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:

```bash

# 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`](https://github.com/omacom/omarchy/blob/main/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`](https://github.com/omacom/omarchy/blob/main/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.