Dependencies for Omarchy: Core System Requirements and Package Architecture

Omarchy requires Arch Linux's package manager (pacman), systemd service management, and a minimal set of standard utilities including bash, git, curl, and jq, with additional hardware-specific dependencies enumerated in install/omarchy-base.packages and managed through Omarchy's wrapper scripts.

Omarchy is an opinionated Arch Linux distribution maintained by basecamp/omarchy that automates system configuration through declarative package sets and shell scripts. Understanding its dependency structure is essential for troubleshooting installation failures or extending the system with custom hardware support.

Core System Dependencies

Omarchy operates as a management layer atop Arch Linux, inheriting all base Arch requirements while adding specific tooling for its automated workflows.

Required Base Utilities

  • pacman: The native Arch package manager serves as the foundation for all Omarchy operations. The omarchy-pkg-add and omarchy-pkg-drop commands are thin wrappers around pacman that handle logging and state tracking.

  • systemd: Provides the service infrastructure for Omarchy's automated maintenance tasks, including update timers and backup services referenced in docs/file-layout.md.

  • bash (≥ 5.0): All Omarchy CLI tools live in the bin/ directory as Bash scripts following the project's strict style guidelines. The AGENTS.md file specifies that agents must assume Bash 5+ availability.

  • git: Required for cloning Omarchy plugins and managing the repository's distributed configuration files. The shell/plugins/README.md workflow depends on git for plugin installation.

  • curl: Used by hardware installation scripts to fetch remote firmware and drivers, such as in install/hardware/intel/sof-firmware.sh.

  • jq: Parses JSON output from Omarchy commands, particularly when generating machine-readable command lists for testing via test/cli.

AUR Helper Support

While not strictly required for base functionality, yay (or any compatible AUR helper) enables installation of community packages. The manual/29-other-packages.md documentation references omarchy pkg aur add workflows that rely on AUR helper presence.

Package Source Files

Omarchy maintains canonical dependency lists in the install directory that define the system state.

omarchy-base.packages

The file install/omarchy-base.packages contains the definitive list of system packages installed during Omarchy setup. This includes:

  • Core filesystem utilities
  • Network management tools
  • Base development headers
  • Essential firmware packages

omarchy-other.packages

Optional hardware support and additional utilities reside in install/omarchy-other.packages. These packages are installed on-demand when users select specific hardware profiles or optional features through the Omarchy menu interface.

Hardware-Specific Dependencies

Omarchy uses modular installation scripts for hardware enablement, each defining their own dependency chains.

Firmware Updates

The fwupd daemon handles firmware updates through the omarchy-update-firmware command. Per manual/30-updates.md, this service installs automatically on first run of the firmware updater, pulling dependencies like flashrom or fwupd itself as needed.

Video and Audio Acceleration

Hardware-specific scripts in install/hardware/ declare their own dependencies:

Dependency Management Examples

Installing Base System Packages


# Install a package from the Arch repositories

omarchy pkg add neovim

This invokes bin/omarchy-pkg-add, which wraps pacman -S while updating Omarchy's internal package state tracking.

Adding AUR Dependencies


# Install from AUR (requires yay or compatible helper)

omarchy pkg aur add visual-studio-code-bin

The wrapper detects AUR packages and delegates to the configured AUR helper, falling back to error messaging if no helper is present.

Running System Updates


# Update Omarchy and all dependencies

omarchy update

As documented in docs/update-process.md, this script:

  1. Invokes pacman -Syu for system packages
  2. Runs omarchy-migrate for configuration migrations
  3. Prunes cache directories
  4. Restarts affected systemd services

Installing Hardware Support


# Install Intel-specific video dependencies

omarchy install hardware intel video-acceleration

This executes install/hardware/intel/video-acceleration.sh, which calls omarchy-pkg-add for packages like intel-media-driver and vulkan-intel.

Summary

  • Omarchy builds on standard Arch Linux infrastructure, requiring pacman and systemd as non-negotiable foundations.
  • Core utilities (bash, git, curl, jq) support the automation scripts in bin/ and installation workflows.
  • Canonical dependency lists live in install/omarchy-base.packages and install/omarchy-other.packages, representing the complete system package set.
  • Hardware support uses modular scripts that declare runtime dependencies dynamically based on selected profiles.
  • Yay or equivalent AUR helpers extend functionality for community packages, though base Omarchy operates within official repositories.

Frequently Asked Questions

Does Omarchy work without an AUR helper like yay?

Yes, Omarchy's core functionality operates entirely within official Arch repositories using pacman. However, installing packages from the Arch User Repository (AUR) requires a compatible helper such as yay, as referenced in manual/29-other-packages.md. The omarchy pkg aur subcommands will prompt for helper installation if missing.

Where can I find the complete list of packages Omarchy installs?

The authoritative source is install/omarchy-base.packages in the basecamp/omarchy repository. This file enumerates all packages installed during initial setup, while install/omarchy-other.packages contains optional additions. These files are plain text lists consumed by the installation scripts during first-run configuration.

What happens if I remove a dependency that Omarchy requires?

Removing core dependencies like systemd or bash will break Omarchy's automation scripts and service management. The bin/omarchy-pkg-drop wrapper includes safety checks to prevent removal of protected packages, though manual pacman operations bypassing Omarchy could leave the system in an inconsistent state. Always use the Omarchy wrappers (omarchy pkg drop) to maintain dependency integrity.

How does Omarchy handle firmware dependencies?

Firmware updates rely on fwupd, which installs automatically when first running omarchy-update-firmware or selecting firmware updates from the Omarchy menu. Hardware-specific firmware (such as Intel SOF firmware) installs via dedicated scripts in install/hardware/ that fetch proprietary blobs using curl and install them to appropriate system paths.

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 →