Where Are the PKGBUILDs for Omarchy Packages Located?

The PKGBUILD files for Omarchy reside in a separate companion repository named omarchy-pkgs, specifically under the pkgbuilds/ directory, not inside the main basecamp/omarchy repository itself.

Omarchy is Basecamp's opinionated Arch Linux desktop environment. While the main repository contains system configuration and installation logic, the PKGBUILDs for Omarchy packages are maintained externally to isolate package building from runtime setup.

The omarchy-pkgs Companion Repository

According to docs/file-layout.md in the main repository, "Two Arch packages are built from this one repo (PKGBUILDs live in the omarchy-pkgs repository)." This architectural decision keeps build specifications separate from the system configuration code.

Each Omarchy package has its own subdirectory within the pkgbuilds/ folder:

  • omarchy-pkgs/pkgbuilds/omarchy/PKGBUILD – Builds the core omarchy package containing base system setup files.
  • omarchy-pkgs/pkgbuilds/omarchy-settings/PKGBUILD – Builds the omarchy-settings package that ships system files and user defaults.
  • omarchy-pkgs/pkgbuilds/omarchy-dev/PKGBUILD – Builds the omarchy-dev package containing development-only dependencies.

You can browse these files at https://github.com/omacom-io/omarchy-pkgs/tree/main/pkgbuilds/.

Locating PKGBUILDs in Your Local Workspace

When running development tools from the main Omarchy repository, PKGBUILDs are expected to exist in a specific directory structure. The helper script bin/omarchy-dev-pkg-test defines the default search path using the OMARCHY_PKGBUILDS_DIR environment variable:

PKGBUILDs_ROOT="${OMARCHY_PKGBUILDS_DIR:-$HOME/Work/omarchy/omarchy-pkgs/pkgbuilds}"

If the environment variable is unset, the script defaults to ~/Work/omarchy/omarchy-pkgs/pkgbuilds. This convention allows developers to override the location while maintaining a standard workspace structure for local package builds.

Inspecting and Reading PKGBUILD Contents

To view a specific build script, navigate to the appropriate subdirectory within your local clone of the omarchy-pkgs repository:


# Display the main omarchy package build configuration

cat ~/Work/omarchy/omarchy-pkgs/pkgbuilds/omarchy/PKGBUILD

You can also programmatically locate these files using Python:

from pathlib import Path

# Resolve the default PKGBUILD location

pkgs_root = Path.home() / "Work" / "omarchy" / "omarchy-pkgs" / "pkgbuilds"
omarchy_pkgbuild = pkgs_root / "omarchy" / "PKGBUILD"

# Read the build configuration

print(omarchy_pkgbuild.read_text())

Testing Package Builds Locally

The bin/omarchy-dev-pkg-test utility automates the process of copying PKGBUILDs into temporary build directories for testing. When invoked with a package name, it resolves the path using OMARCHY_PKGBUILDS_DIR and prepares the build environment:


# Copy the omarchy PKGBUILD to a temp build directory and return the path

omarchy-dev-pkg-test omarchy

This ensures developers always test against the canonical PKGBUILDs stored in the companion repository rather than potentially stale local copies.

Summary

  • PKGBUILDs for Omarchy packages live in the separate omarchy-pkgs repository, not in basecamp/omarchy.
  • The standard directory structure places them under pkgbuilds/<package-name>/PKGBUILD.
  • The default local path is ~/Work/omarchy/omarchy-pkgs/pkgbuilds, configurable via the OMARCHY_PKGBUILDS_DIR environment variable.
  • Three main packages exist: omarchy (core system), omarchy-settings (user defaults), and omarchy-dev (development tools).
  • Use bin/omarchy-dev-pkg-test to locate and prepare PKGBUILDs for local testing.

Frequently Asked Questions

Are the PKGBUILDs stored in the main Omarchy repository?

No. According to docs/file-layout.md in the basecamp/omarchy repository, the PKGBUILDs are intentionally kept in a separate repository called omarchy-pkgs. This separation allows the main repository to focus on system configuration and installation scripts while the companion repository handles Arch Linux package specifications independently.

How do I customize the location where Omarchy looks for PKGBUILDs?

Set the OMARCHY_PKGBUILDS_DIR environment variable to point to your preferred directory. The bin/omarchy-dev-pkg-test script checks this variable before defaulting to ~/Work/omarchy/omarchy-pkgs/pkgbuilds, allowing you to maintain the repository in alternative locations or on different filesystems.

What packages are defined in the omarchy-pkgs repository?

The repository contains at least three distinct packages: the core omarchy package (base system setup), omarchy-settings (system files and user defaults), and omarchy-dev (development-only dependencies). Each resides in its own subdirectory under pkgbuilds/ with an individual PKGBUILD file defining its build instructions.

Can I build Omarchy packages without cloning the omarchy-pkgs repository?

No. Because the PKGBUILDs are external to the main repository, you must clone omarchy-pkgs to access the build scripts. The development tools in basecamp/omarchy reference these files directly via OMARCHY_PKGBUILDS_DIR and will fail if the companion repository is not present at the expected path.

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 →