diff --git a/pkgbuilds/omarchy-mac/.omarchy/package.json b/pkgbuilds/omarchy-mac/.omarchy/package.json new file mode 100644 index 0000000..9adf372 --- /dev/null +++ b/pkgbuilds/omarchy-mac/.omarchy/package.json @@ -0,0 +1 @@ +{ "source": "local", "channels": ["edge"] } diff --git a/pkgbuilds/omarchy-mac/PKGBUILD b/pkgbuilds/omarchy-mac/PKGBUILD new file mode 100644 index 0000000..ec9b5e4 --- /dev/null +++ b/pkgbuilds/omarchy-mac/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Scott Jones +# Ported from omarchy-mac/omarchy-pkgs-aarch64 pkgbuilds/omarchy-mac at 02ed7b250f7edcf7c5f748acaf7b21ef0a764e9d. + +pkgname=omarchy-mac +# pkgver matches packages/omarchy-mac/version at _commit. Bump pkgrel to re-pin +# or rebuild the same add-on version; reset it to 1 when pkgver increases. +pkgver=0.1.0 +pkgrel=5 +pkgdesc='Apple Silicon configuration and support services for Omarchy' +arch=('aarch64') +url='https://github.com/omacom/omarchy-mac' +license=('MIT') +makedepends=('git' 'findutils') +checkdepends=('diffutils' 'python' 'systemd') +# An exact quattro-upstream commit, never a branch. +_commit=b4a79d83d1144c4de90b29a2d8b4090090d7a9d8 +source=("omarchy-mac::git+https://github.com/omacom/omarchy-mac.git#commit=${_commit}") +sha256sums=('93676ce29791a29efe3b098fd8d129fa2248cd32d04253d9520a5b4c0697be6f') + +prepare() { + # Tests and staging must not be able to read the surrounding desktop source. + rm -rf "$srcdir/addon" + cp -a "$srcdir/omarchy-mac/packages/omarchy-mac" "$srcdir/addon" + [[ $(<"$srcdir/addon/version") == "$pkgver" ]] + [[ $(git -C "$srcdir/omarchy-mac" rev-parse HEAD) == "$_commit" ]] +} + +check() { + "$srcdir/addon/test/all" +} + +package() { + # Runtime-only: the builder does not need the Omarchy desktop to stage or + # test the add-on. + depends=('omarchy' 'bash' 'coreutils' 'diffutils' 'grep' 'sed' 'gawk' 'systemd' 'pciutils' 'kmod' + 'networkmanager' 'iwd' 'python' 'pipewire' 'pipewire-pulse' 'libpulse' 'wireplumber') + + "$srcdir/addon/install" "$pkgdir" + install -Dm644 "$srcdir/addon/README.md" "$pkgdir/usr/share/doc/$pkgname/README.md" + install -Dm644 "$srcdir/addon/ORIGINS.md" "$pkgdir/usr/share/doc/$pkgname/ORIGINS.md" + printf '%s\n' "$_commit" >"$pkgdir/usr/share/omarchy-mac/source-revision" +} diff --git a/pkgbuilds/omarchy-mac/README.md b/pkgbuilds/omarchy-mac/README.md new file mode 100644 index 0000000..49aa1e6 --- /dev/null +++ b/pkgbuilds/omarchy-mac/README.md @@ -0,0 +1,23 @@ +# omarchy-mac + +Apple Silicon runtime support for Omarchy: Wi-Fi resume recovery, the headset microphone mapping, the notch modprobe default and the NetworkManager Wi-Fi backend. The source is `packages/omarchy-mac/` in omacom/omarchy-mac, with its own version and tests. The recipe pins an exact `quattro-upstream` commit and packages only that directory; `prepare()` copies it away from the surrounding desktop tree before `check()` runs its tests. + +Ported from Scott Jones's recipe in omarchy-mac/omarchy-pkgs-aarch64 (`pkgbuilds/omarchy-mac` at `02ed7b250f7edcf7c5f748acaf7b21ef0a764e9d`). It supersedes the unpublished `omarchy-settings-asahi` recipe. + +## Scope + +The package is aarch64-only and published to edge only. It widens to rc and stable only after M1 and M2 cold-boot qualification. It depends on the generic `omarchy` package and has no `provides`, so nothing generic can pull it onto non-Apple aarch64 machines. It ships no kernel, boot, installer or trust configuration; those belong to `omarchy-mac-boot`. + +Installing the package enables no services, but its vendor configuration applies on the next service start or module load: the iwd Wi-Fi backend for NetworkManager, the `appledrm` notch option and the WirePlumber headset microphone policy. `omarchy-mac-setup-system` and `omarchy-mac-setup-user` enable the Wi-Fi resume and microphone units, and they exit unless `omarchy-hw-apple-silicon` reports Apple Silicon. Stock Omarchy does not yet ship that detector or call these entrypoints, so on a stock install the units stay disabled until the platform detector and profile work lands. + +Runtime dependencies are declared in `package()`, so the builder stages and tests the add-on without installing the desktop. + +## Updates + +Updates are reviewed pins, never a branch. To release a change to the add-on: + +1. Set `_commit` to the full `quattro-upstream` SHA and `pkgver` to `packages/omarchy-mac/version` at that commit. +2. Reset `pkgrel` to 1 when `pkgver` increases; bump it to re-pin or rebuild the same version. +3. Refresh `sha256sums` with `makepkg -g`. + +Desktop-only commits on `quattro-upstream` do not need a new pin. `0.1.0-5` sorts above the `0.1.0-4.` candidates the collaboration builder produced for test images.