Commit Graph
1491 Commits
Author SHA1 Message Date
Jorge Manrubia c2166632e9 Add omacharts (#802)
A fast, keyboard-driven charting app for Omarchy, built on GTK4 and
libadwaita. It follows the active Omarchy theme, generates an indicator
palette for whichever theme is in force, and ships a plugin for the bar.

Source build from the project's own tagged release, tracked by a GitHub
watch so version bumps come from the release feed. Not in the AUR.
2026-10-10 02:23:06 +00:00
Marcelo Alcantara 859c6ff154 Update omarchy-mac to 0.1.2 (#927)
Pins omarchy-mac-pkgs 5b2c815: follows omacom/omarchy#14431's aarch64-apple
platform name and skips the Electron GL wrapping on a runtime without its
helpers.
2026-10-10 02:03:32 +00:00
ryanrhughes f54d045df3 Track upstream branches: omarchy-dev 4.0.0.r6860.g7cc6a55-1, omarchy-settings-dev 4.0.0.r6860.g7cc6a55-1 2026-10-10 01:53:04 +00:00
emirb cfd1b9a554 Track upstream branches: omarchy-dev 4.0.0.r6857.ge1b0e5e-1, omarchy-settings-dev 4.0.0.r6857.ge1b0e5e-1 2026-10-10 00:54:20 +00:00
Emir Beganović 011a14a0d6 Ship the USB and Thunderbolt approval watchers as user units (#922)
Omarchy enables omarchy-usb-authorization.service and
omarchy-thunderbolt-authorization.service from first-run, and the
Thunderbolt one from its setup command and a migration. The settings
packages left both only in /usr/share/omarchy/default/systemd/user, where
systemd does not look.

On edge the Thunderbolt migration (1790344599) therefore fails with "Unit
omarchy-thunderbolt-authorization.service does not exist" and every later
migration stays pending. First-run fails as well and enables none of its
units.

Install both in /usr/lib/systemd/user, wherever the source has them: the
4.0.4 release does not, so its package is unchanged.
2026-10-10 00:18:43 +00:00
Ryan Hughes 4936892061 Merge pull request #914 from omacom/auto/sync-upstream-python-mediapipe
Sync upstream releases: python-mediapipe 1.1.0-1
2026-10-09 19:18:58 -04:00
Ryan Hughes 8a9b0f70ff Add buzz 0.5.28: Block's desktop workspace for humans and agents (#919)
Buzz (https://github.com/block/buzz, Apache-2.0) is a Tauri desktop app
on a Nostr relay. Upstream ships Linux builds for x86_64 only, so this
builds the desktop-v0.5.28 tag from source for x86_64 and aarch64,
following upstream's release-linux job: the six sidecar binaries from
the root workspace, then the app with --features mesh-llm. The updater
stays compiled out (its key and endpoint are unset), so pacman owns
updates. On the fast ring; the watch follows desktop-v* releases.

On aarch64, -march gains +crypto so sha2-asm can assemble its SHA
instructions; sha2 still detects them at runtime.

Built natively for aarch64 with bin/build and launched with isolated
HOME/XDG dirs: the window opens and renders the bundled frontend.
2026-10-09 23:11:59 +00:00
Ryan Hughes eb597ed851 Merge pull request #921 from omacom/auto/track-branches-omarchy-dev-omarchy-settings-dev
Track upstream branches: omarchy-dev 4.0.0.r6856.g6126321-1, omarchy-settings-dev 4.0.0.r6856.g6126321-1
2026-10-09 19:08:04 -04:00
Ryan Hughes 7dde80c9f7 python-mediapipe: leave the semantic retriever out of libmediapipe.so
MediaPipe 1.1.0 links its SQLite memory and vector stores from prebuilt
archives built with Google's internal toolchain. They have no archive symbol
table, and once indexed they still need Google's libc++ (std::__u) and
internal symbols (__alloc_token_*__Znwm, sqlite_helpers, sqlite3_vector_init),
so the link of libmediapipe.so fails. Drop the semantic retriever's C API from
the library; mediapipe and its other tasks import and work as before.
2026-10-09 19:03:02 -04:00
emirb 7f010b273e Track upstream branches: omarchy-dev 4.0.0.r6856.g6126321-1, omarchy-settings-dev 4.0.0.r6856.g6126321-1 2026-10-09 22:51:26 +00:00
emirb 0aa396dce2 Track upstream branches: openai-codex-bin 0.162.1-1 2026-10-09 22:47:42 +00:00
Ryan Hughes a268d610a3 Merge pull request #915 from omacom/auto/sync-upstream-t3code-nightly-bin
Sync upstream releases: t3code-nightly-bin 0.0.46_nightly.20261009.2886-1
2026-10-09 18:32:38 -04:00
Ryan Hughes 80ebf43ed9 Merge pull request #916 from omacom/auto/sync-upstream-walker
Sync upstream releases: walker 2.17.2-1
2026-10-09 18:28:42 -04:00
Ryan Hughes e6ca59be3a Merge pull request #913 from omacom/auto/sync-upstream-symfony-cli
Sync upstream releases: symfony-cli 5.22.0-1
2026-10-09 18:27:47 -04:00
Ryan Hughes 1aa8c1a886 Merge pull request #912 from omacom/auto/sync-upstream-1password-beta
Sync upstream releases: 1password-beta 8.12.42_32.BETA-1
2026-10-09 18:27:34 -04:00
Ryan Hughes 031fdcd972 Merge pull request #911 from omacom/auto/sync-upstream-once-bin
Sync upstream releases: once-bin 0.3.4-1
2026-10-09 18:27:32 -04:00
Ryan Hughes 16d6e44ad9 Merge pull request #910 from omacom/auto/sync-upstream-flea
Sync upstream releases: flea 0.3.8-1
2026-10-09 18:27:22 -04:00
ryanrhughes d764b4f7f4 Sync upstream releases: walker 2.17.2-1 2026-10-09 22:25:31 +00:00
ryanrhughes 29836c6da9 Sync upstream releases: t3code-nightly-bin 0.0.46_nightly.20261009.2886-1 2026-10-09 22:25:27 +00:00
ryanrhughes 39f0096f35 Sync upstream releases: python-mediapipe 1.1.0-1 2026-10-09 22:25:18 +00:00
ryanrhughes 473a6f12ea Sync upstream releases: symfony-cli 5.22.0-1 2026-10-09 22:25:16 +00:00
ryanrhughes d2cf8ee83e Sync upstream releases: 1password-beta 8.12.42_32.BETA-1 2026-10-09 22:25:05 +00:00
ryanrhughes 7fc218f0dd Sync upstream releases: once-bin 0.3.4-1 2026-10-09 22:25:05 +00:00
ryanrhughes 934eed2d7e Sync upstream releases: flea 0.3.8-1 2026-10-09 22:25:03 +00:00
ryanrhughes fc1d4b44dc Sync upstream releases: crush-bin 0.98.1-1 2026-10-09 22:25:03 +00:00
ryanrhughes 76c1de2185 Track upstream branches: claude-code 2.1.296, claude-desktop 2.31226.1, github-copilot-cli 1.0.95, mise-bin 2026.10.5, omarchy-dev 4.0.0.r6848.g2519fd9, omarchy-settings-dev 4.0.0.r6848.g2519fd9, perplexity 26.10.1+build108257, zen-browser-bin 1.23.2b 2026-10-09 22:05:49 +00:00
ryanrhughes 0cda546059 Track upstream branches: basecamp-cli 0.13.0, brave-bin 1.97.56, brave-origin-bin 1.97.56, claude-code 2.1.295, claude-desktop 2.31226.0, cursor-bin 3.24.9, github-copilot-cli 1.0.94, lmstudio-bin 0.4.26, microsoft-edge-stable-bin 155.0.4283.45, mise-bin 2026.10.4, monologue 0.3.1, openai-codex-bin 0.162.0, openai-codex-desktop 26.1007.21434, openclaw 2026.9.9, slack-desktop 4.52.178, visual-studio-code-bin 1.141.0, zed 1.23.2, zen-browser-bin 1.23.1b 2026-10-09 15:31:54 +00:00
David Heinemeier HanssonandClaude Opus 5.5 88947c367b Auto-merge upstream updates for trusted packages (#892)
* Auto-merge upstream updates for trusted packages

The unattended lane already runs every upstream provider, not only branch
watches, so trusted release feeds can ship without waiting on the reviewed
sync PR. Opt in the browsers, large vendors' apps, Omacom's own projects,
and the vendor binaries that hold fresh releases for 24h: 39 packages,
including rawmakase-bin and gliff.

Drivers, firmware, the bootloader, core desktop components, beta and
nightly channels, and community projects stay on the reviewed lane.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Auto-merge grok-bot, perplexity, disktree-bin, cliamp, openclaw, voxtype-bin and ttfx

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:42:23 +02:00
David Heinemeier Hansson c104b20285 Install passwordless revoke hook in omarchy-dev (#896) 2026-10-09 14:42:00 +00:00
David Heinemeier HanssonandClaude Opus 5.5 cbded97503 Add omarchy-power-profiles-daemon 0.30, with a CPPC driver for ARM laptops (#897)
power-profiles-daemon only drives intel_pstate, amd_pstate and ACPI
platform_profile, so ARM laptops on cppc_cpufreq (NVIDIA N1X, Snapdragon X)
get placeholder profiles that change nothing and no performance profile.

This packages upstream 0.30 with a CPPC driver patch: balanced (EPP 64) and
power-saver (EPP 192) use CPPC autonomous frequency selection, performance
runs the performance governor. The driver only claims policies with the
schedutil and performance governors and writable autonomous selection knobs,
restores probe-time settings if the first activation fails, and reapplies the
profile on resume. The package provides and conflicts with
power-profiles-daemon, and fixes the powerprofilesctl shebang at package time
so Omarchy no longer needs to sed it.

Tested on an NVIDIA N1X laptop: median keystroke-to-frame latency in Chromium
went from ~130ms (schedutil) to ~56ms on balanced at the same idle power, and
~32ms on performance, which Omarchy selects on AC. All 137 upstream tests
pass, including five new CPPC tests.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:40:56 +00:00
ferdousandClaude Opus 5.5 8b8ede46ed Add Ghost: runtime with optional Omarchy HUD (#390)
* Add ghost: an owner-local AI persona with an Omarchy-native HUD

Ghost (https://github.com/ferdousbhai/ghost, Apache-2.0) is a local AI
persona for Omarchy: a daemon on 127.0.0.1, a Quickshell HUD summoned
with Super+Ctrl+G, a `ghost` CLI, an opt-in Chromium relay, and a
computer-use helper. The package builds from the v0.1.0 GitHub release's
sanitized source archive plus its prebuilt Bun runtime archive; the
`.omarchy/package.json` upstream block follows later releases the same
way. check() runs the project's own test suite against the payload.

Built locally with `makepkg --cleanbuild` from these exact inputs on
Omarchy 4.0.0.alpha: ghost-0.1.0-1-x86_64.pkg.tar.zst.

* ghost 0.1.1: arch=('any'), one runtime archive for every architecture

The payload is Bun-target JavaScript with no native modules; verified
on aarch64 under emulation (ferdousbhai/ghost#52). The runtime archive
is now named linux-any and listed with the source tarball under
sources.any.

* ghost: 0.1.2

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TQbyws7icrhj7H7V7yi6v

* ghost: 0.2.0

* ghost: 0.2.1

* ghost: 0.2.2

* ghost: 0.2.3

* ghost: 0.3.0

* ghost: 0.4.0 with independently installable runtime

* ghost: 0.4.1

* ghost: 0.4.2

* ghost: 0.4.3

* ghost: 0.5.0

* ghost: 0.5.1

* ghost: 0.5.2

* ghost: 0.6.0

* ghost: 0.6.0-2, declare ripgrep for package checks

check() in the 0.6.0 source runs packaging tests that need rg, and the
clean build container does not have it, so every build since 0.5.0 stopped
with "ripgrep is required by package checks but is not installed".
Same version, so pkgrel goes to 2 (ghost e97eb09 carries the same
checkdepend for the next release's render).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-09 14:39:53 +00:00
bf0af463ef Add linux-aarch64 kernel compatibility shim (#222)
* Add linux-aarch64-pkgbase-shim

Arch Linux ARM's kernel packages install the kernel as /boot/Image and ship
no usr/lib/modules/<ver>/{pkgbase,vmlinuz}, which is how mkinitcpio and
limine-entry-tool find kernels. One pacman hook, ordered 85- so it runs
before 90-mkinitcpio-install, writes both files into every package-owned
modules directory that lacks pkgbase; the usual hook then builds the UKI and
writes the Limine entry. It also covers kernels already present when the
shim itself is installed, cleans up the leftover directories of removed
kernels, and never touches a directory that has pkgbase, so it retires by
removal once archlinuxarm/PKGBUILDs#2215 (or its successor) lands.

Added to the aarch64 workflow's ISO package set.

* linux-aarch64-pkgbase-shim: leave the rebuild to limine-update when the 90 hook is masked

omarchy-iso's installer points 90-mkinitcpio-install.hook at /dev/null in
the target during the chroot phase and runs limine-update itself afterwards.
When the shim is installed in that phase it writes pkgbase and vmlinuz and
would otherwise start a UKI build that finalize_limine_boot throws away.

* linux-aarch64-pkgbase-shim: pkgrel 2

The aarch64 repo build only rebuilds packages whose version moved, so the
previous script fix never reached the repository.

* Trim aarch64 kernel shim comments

* Refresh shim kernel images safely on reinstall

* Run package regression suites in existing CI

* Cover shim ownership and failed-copy handling

* Handle shared kernel-directory ownership in the ARM boot shim

* Limit the CI change to the package test scripts

* Warn when a kernel directory's pkgbase names another package

---------

Co-authored-by: Jimmy Van Veen <jimmy.van.veen@gmail.com>
Co-authored-by: Jim Martin <jimmartin@gmail.com>
2026-10-09 10:21:04 -04:00
9ea749835f Add safe Windows firmware extraction for Snapdragon laptops (#221)
* Add qcom-firmware-extract

Copy the vendor-signed Qualcomm firmware named by a Snapdragon laptop device tree from its Windows driver store into /usr/lib/firmware/updates.

* Select matching Qualcomm firmware variants

* Trim firmware extractor comments

* Keep firmware selection and initramfs updates safe on partial installs

* Run package regression suites in existing CI

* Match kernel firmware compression and search order

* Limit the CI change to the package test scripts

* Match firmware names exactly when updating the manifest

* Count compressed firmware only when the kernel can load it

* Scope the README's firmware claim to this package

* Find DSP device-tree images under their Windows names

The Surface Pro 11 device tree asks for adsp_dtb.mbn and cdsp_dtb.mbn,
but Windows ships them as adsp_dtbs.elf and cdsp_dtbs.elf, so
extraction left both DSP device-tree images missing. Look for the
Windows name when the device-tree name is not found. Exact names still
take precedence, and the existing companion matching still selects
between variants.

Validated with test.sh and on a Surface Pro 11 against its own Windows
driver store: 5 of 5 firmware files staged, up from 3, and the ADSP and
CDSP boot with the device-tree images taken from the .elf files.

* Let later firmware sources fill in what a stage lacks

Any stage manifest, even an empty one, made --stage exit as already
staged and made --install use only the stage, so Windows was never read
again. A --stage rerun now keeps the staged files and looks for the
rest, and --install scans Windows only for what the stage lacks. -d
still replaces both. A rerun without root, which cannot read Windows,
keeps the stage and succeeds as before. Each run reads the stage
manifest once.

Mount points honour QCOM_FW_ROOT so the tests can stub the partition
scan. Both root checks now take the user ID from QCOM_FW_TEST_EUID when
the tests set it, and the install-mode check no longer skips when
QCOM_FW_ROOT is set.

* Let board packages list firmware that must not come from Windows

Some device trees name firmware that should not be copied from Windows:
files a board package produces or holds back until they are tested, and
files the machine's boot firmware loads before Linux, which Windows
drivers do not carry.
On the Surface Laptop 8 these are its USB4 router image and SOCCP pair.

A board package can now list such names in
/usr/share/qcom-firmware-extract/provided.d/<compatible>.list. On a
machine with that compatible they are never searched for, installed or
reported by --list-missing, and the log names the list for each one. An
unreadable list or an entry containing a space is skipped with a
warning.

A copy an earlier --install made of a newly listed name stays in place:
the same bytes would not show that the file is still this tool's copy,
since a board's own tool may keep the same file there. The next
--install stops recording it and prints where it is, for the board
package or the user to remove.

Since --list-missing omits listed names, a board must not list firmware
that a hardware check relies on unless its package installs it before
the check runs.

* Find staged firmware by file name when its device-tree path changed

Since the stage became the first source, --install takes a staged file
only by its exact device-tree path. After a full-disk install the stage
is the only copy, so a device tree that files an image under another
path could no longer be served from it. After Windows, fall back to a
staged file with the same name that the stage manifest lists, but not
when Windows refused differing variants of it as ambiguous.

* Test that listed firmware never sends the extractor to the disks

With every name installed or listed, --list-missing prints nothing,
--stage and --install neither list nor mount partitions, and listed
names are not installed from Windows or the stage. A control run
without the list does scan. Listing the names again leaves the copies
it installed in place but stops recording them, and another missing
file still sends the extractor to Windows for that file alone.

* Read only internal disks from an installed system

--install mounts the Windows partitions whenever the stage lacks a
file, which after a full-disk install can be every later run, and it
mounted every NTFS partition, USB disks included. It now reads only
partitions on disks that lsblk reports as neither removable, hotplug
nor USB. --stage in the live session still reads all of them, internal
disks first, and -d takes a driver store from anywhere.

---------

Co-authored-by: Jimmy Van Veen <jimmy.van.veen@gmail.com>
Co-authored-by: Brandon Williams <turbine.bmw@gmail.com>
Co-authored-by: Jim Martin <jimmartin@gmail.com>
2026-10-09 10:13:34 -04:00
github-actions[bot]anddhh e3730916ff chore: sync upstream releases (#887)
Co-authored-by: dhh <2741+dhh@users.noreply.github.com>
2026-10-09 14:47:23 +02:00
David Heinemeier HanssonandClaude Opus 5.5 7fa74a3369 Add rawmakase-bin 0.2.2, following upstream GitHub releases (#890)
RAWmakase is a Lightroom-compatible RAW photo editor. Upstream publishes
self-contained Linux tarballs for x86_64 and aarch64 (LibRaw, lcms2,
libjpeg and ONNX Runtime bundled under /usr/lib/rawmakase) with a
SHA256SUMS manifest, so the package re-wraps that usr/ tree and
sync-upstream follows releases declaratively with a 24h quarantine.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 12:47:04 +00:00
David Heinemeier Hansson f3e71f8a13 Restart active OWE user services after upgrades (#888) 2026-10-09 11:43:56 +02:00
3e4cb2308e Update superwhisper-bin to 1.0.0 and follow its stable releases (#882)
Superwhisper 1.0.0 is its first stable release. The watch matched only beta
tags, so sync-upstream would never offer it; it now follows stable releases
and ignores prereleases.

Co-authored-by: superduck00 <294879536+superduck00@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 10:13:12 +02:00
Ryan Hughes a090ebeb4b Merge pull request #886 from omacom/auto/sync-rebuilds
chore: rebuild against updated dependencies
2026-10-09 02:45:46 -04:00
Ryan Hughes 26839faa98 Merge pull request #880 from omacom/auto/track-branches
Track upstream branches: omarchy-dev 4.0.0.r6818.gc352b62, omarchy-settings-dev 4.0.0.r6818.gc352b62
2026-10-09 02:41:30 -04:00
Ryan HughesandJim Martin 2684cc04c7 Build LM Studio for aarch64 (#885)
Co-authored-by: Jim Martin <jimmartin@gmail.com>
2026-10-09 02:41:18 -04:00
dhh 90066fc19b chore: rebuild against updated dependencies 2026-10-09 06:38:38 +00:00
ryanrhughes 83778ddcb0 Track upstream branches: omarchy-dev 4.0.0.r6818.gc352b62, omarchy-settings-dev 4.0.0.r6818.gc352b62 2026-10-09 06:37:15 +00:00
Spencer BullandGPT 6.1 Sol High ae5eac6532 Align OpenVINO GenAI with the edge runtime and hold syncing (#883)
Pin GenAI 2026.4.1.0 to match Arch OpenVINO 2026.4.1. Restrict the package to edge while rc and stable retain 2026.3.1, derive the exact core dependency from the GenAI version, and keep updates manual. Set standard PCRE2 install paths for the current CMake build.

Co-authored-by: GPT 6.1 Sol High <noreply@openai.com>
2026-10-08 23:44:39 -05:00
Spencer Bull 5c6444e604 Update cua-driver-bin to 0.33.4, which captures multi-monitor Hyprland desktops again (#807)
Driver 0.28.3 through 0.33.3 refused desktop capture on Hyprland with more than one output or one output away from the origin (trycua/cua#4161), which is why the package was held at 0.28.2; 0.33.4 fixes it (trycua/cua#4305). The plugin sources are unchanged from 0.32.0 through 0.33.4 and speak the same input protocol, so the plugin package stays and only its README names the new pairing.
2026-10-08 22:08:08 -05:00
Gabriel AramburuandClaude 17ae27fb21 Add OmaKeyboard: keyboard remapping and shortcuts (#564)
A Qt Quick application for remapping keys, building Fn-style layers and
managing shortcuts, per keyboard. It generates real XKB keymaps with
libxkbcommon and loads them through Hyprland's per-device kb_file; no
input daemon or third-party remapping engine is involved.

Builds from the published v0.1.0 tag. check() runs the project's tests,
which need no display.

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-09 01:10:24 +00:00
dhh 3a0d01876f chore: rebuild against updated dependencies 2026-10-08 23:32:58 +00:00
Emir Beganović 0aa4c721c1 Merge pull request #851 from omacom/t3code/appimage-lib-names
T3 Code: accept the AppImage's compatibility libraries under their new names
2026-10-09 00:36:48 +02:00
Marcelo Alcantara c71cfabed6 Re-pin omarchy-mac-boot to omarchy-mac-pkgs 162f3599e (#873)
main now has omarchy-mac-pkgs#20: a factory reset's reboot unlocks the disk
with a key from the Boot partition, and systemd could mount that partition
again just before switching to the real root without unmounting it
(systemd/systemd#28021), leaving /boot read-only so owner setup's re-key
failed. An initramfs drop-in makes the unmount finish before the switch. It
also has #18 (first-boot encryption progress on the splash) and test-only
changes (#11, #19). New UTC commit date, so 20261008-1. omarchy-mac stays at
2a3ed89.
2026-10-08 22:06:39 +00:00
Ryan Hughes 7d18e16925 Merge pull request #860 from omacom/auto/track-branches
Track upstream branches: omarchy-dev 4.0.0.r6815.g50d687a, omarchy-settings-dev 4.0.0.r6815.g50d687a
2026-10-08 16:23:28 -04:00
Ryan Hughes 2cce621d95 Retire the elephant packages and omarchy-walker (#872)
Omarchy 4 no longer uses Elephant or the omarchy-walker meta package, and
omarchy-upgrade-to-quattro removes them; every channel serves Omarchy 4.0.4.
Nothing else here depends on them. walker itself stays.

Deleting a recipe stops it building but leaves it in the channel databases,
and the only removal tool worked on the old repository host's local tree.
Add bin/unpublish-packages, publish-artifact's counterpart: pull the channel
database, repo-remove every entry built from the named pkgbases, upload it.
Package files stay in the bucket. unpublish.yml runs it per channel and
architecture under the publish lock, for packages with no recipe on master.
2026-10-08 16:18:30 -04:00