# Where Are the PKGBUILDs for Omarchy Packages Located?

> Find PKGBUILDs for Omarchy packages easily. Learn where these essential build files are located in the dedicated omarchy-pkgs repository, not the main basecamp/omarchy repo.

- Repository: [37signals/omarchy](https://github.com/basecamp/omarchy)
- Tags: how-to-guide
- Published: 2026-08-24

---

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

```bash
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:

```bash

# Display the main omarchy package build configuration

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

```

You can also programmatically locate these files using Python:

```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:

```bash

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