Commit Graph
100 Commits
Author SHA1 Message Date
David Heinemeier HanssonandGitHub e4b92e71a9 Merge pull request #190 from omacom-io/add-tmog-bin
Add tmog-bin, the TMOG system monitor
2026-08-23 16:29:38 +02:00
David Heinemeier HanssonandClaude Opus 5 808a66a670 Add tmog-bin, the TMOG system monitor
TMOG ships no source and no AUR package, so this repackages the vendor's
Linux tarball. That artifact is 7.9 MB against the system Qt, where the
AppImage is 55 MB carrying a second copy of the Qt the shell already
installs.

Every release is served from one versionless URL, so .omarchy/upstream.sh
reads /version.txt, computes the checksum from the artifact, and checks
the tarball's own directory name to confirm the mutable path really
served the version it announced.

The beta licence forbids public redistribution, so publishing this needs
the publisher's permission; .omarchy/README.md records that.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011K4ra2oZTtzUQZJ2kwP3io
2026-08-23 16:23:05 +02:00
David Heinemeier HanssonandGitHub 0276a5155b Merge pull request #170 from omacom-io/herdr-track-upstream
Package the herdr 0.8.2 release instead of the fork
2026-08-22 16:49:50 +02:00
David Heinemeier HanssonandGitHub 811c1e2cb6 Merge pull request #181 from omacom-io/quickshell-qt-abi-rebuild
Rebuild quickshell-git against Qt 6.11.2, and notice next time
2026-08-20 13:53:58 +02:00
David Heinemeier HanssonandGitHub dd01fcc560 Merge pull request #177 from omacom-io/remove-deadweight-packages
Remove packages Arch has since absorbed
2026-08-20 10:18:19 +02:00
David Heinemeier HanssonandGitHub 7b6e307e53 Merge pull request #169 from omacom-io/t3code-desktop-name
Drop "(Alpha)" from the T3 Code desktop entry
2026-08-19 16:50:45 +02:00
David Heinemeier HanssonandGitHub fb0ffaadc9 Merge pull request #168 from omacom-io/auto/sync-aur
chore: sync AUR packages
2026-08-19 15:03:00 +02:00
David Heinemeier HanssonandGitHub 1e7031933d Merge pull request #167 from omacom-io/t3code-bin
Add t3code-bin, the T3 Code desktop app
2026-08-19 05:04:17 -05:00
David Heinemeier HanssonandGitHub a9ceb83b17 Merge pull request #151 from tobi/update/omatrack-1.2.0
Update omatrack to 1.2.0
2026-08-19 04:52:19 -05:00
David Heinemeier HanssonandGitHub 12b322dd5c Merge pull request #164 from omacom-io/auto/sync-upstream
chore: sync upstream releases
2026-08-19 04:34:56 -05:00
David Heinemeier HanssonandGitHub 42bfdff000 Merge pull request #165 from tobi/update-omasnap-1.15.0
omasnap: update to 1.15.0
2026-08-19 04:34:30 -05:00
David Heinemeier HanssonandGitHub c2b3796ad9 Merge pull request #162 from omacom-io/auto/sync-upstream
chore: sync upstream releases
2026-08-17 15:44:28 -05:00
David Heinemeier HanssonandGitHub 045740e78f Merge pull request #156 from jdx/codex/mise-bin
feat(mise-bin): add optimized mise binaries
2026-08-17 03:06:46 -05:00
David Heinemeier HanssonandGitHub 7e448b9031 Merge pull request #149 from omacom-io/codex-desktop-upstream-feed
Track ChatGPT desktop from OpenAI's feed instead of the AUR
2026-08-15 18:32:13 +02:00
David Heinemeier HanssonandClaude Opus 5 f92de9c440 Make the upstream rewrite verify its own result
A second review pass found the PKGBUILD rewriting could still go wrong in ways
the pattern matching did not anticipate: an array element carrying a ")" in a
comment left the tail of the old array behind, and jq's "$" also matches before
a trailing newline, so a pkgver of "1.0\n" passed validation and then broke sed
after the checksum arrays had already been written.

Rather than chase each shape, prove the result. Every edit now lands on a
scratch copy that is parsed with bash -n and read back to confirm it holds the
version and checksums we meant to write, and only then replaces the PKGBUILD in
a single rename. Corruption that slips past the matching fails loudly with the
original untouched instead of landing in a pull request.

The validation anchors are \A and \z accordingly, empty checksum lists are
rejected rather than written as '', and the hook picks the newest stanza with
vercmp so it agrees with the comparator the updater uses.

Also stop the launcher probing /.config when HOME and XDG_CONFIG_HOME are both
unset, and require a regular file, so a directory at that path is skipped
instead of crashing the app on startup.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 08:34:42 -07:00
David Heinemeier HanssonandClaude Opus 5 1a61278911 Take over openai-codex-desktop from the AUR
OpenAI ships the ChatGPT desktop app several times a week and the AUR
packaging trails it -- as of this commit by a full version, 26.803.81509
against 26.810.52044. Every sync we took from there was a sync we could have
taken from OpenAI directly.

So track OpenAI's own Debian repository instead. Its per-architecture package
index carries the version and SHA256 of every deb, which makes an update two
small HTTP requests rather than a 750 MB download, and the pool keeps old
versions, so the URLs pinned here stay resolvable after the next release.

Omarchy now maintains the package outright: the max-zstd patch is simply part
of the PKGBUILD, chatgpt-launcher.sh is ours, and the Arch REUSE files are
gone -- they annotated packaging paths (.SRCINFO, keys/**, .nvchecker.toml)
that do not exist here. The app's own license still ships; package() installs
upstream's copyright file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 08:18:54 -07:00
David Heinemeier HanssonandClaude Opus 5 01a566f01a Add bin/sync-upstream for packages that track a vendor release feed
Some vendors publish a release feed of their own that is faster and more
precise than anyone's packaging of it. A package opts in with an
.omarchy/upstream.sh hook that reports the newest release as JSON, and the
driver rewrites pkgver, the checksum arrays the hook names, and pkgrel.

Writes are guarded on both ends: every assignment the update will touch is
verified to exist before anything is written, so a hook naming an array the
PKGBUILD lacks fails with the file untouched rather than half rewritten; and
pkgver is held to pacman's character set, because it lands in a file makepkg
sources as shell.

Ordering is vercmp's, not sort -V's -- they disagree about whether 1.0a
precedes 1.0, and pacman is what decides if a published package is an upgrade.
That is also why the workflow runs in an Arch container rather than straight on
the runner.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 08:18:54 -07:00
David Heinemeier HanssonandClaude Opus 5 5575275941 Update aether to v4.28.9
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 11:37:10 -07:00
David Heinemeier Hansson bb66b9dafc Release omarchy 4.0.0 2026-08-14 08:23:21 -07:00
David Heinemeier Hansson 85551de4f0 Release omarchy 4.0.0rc6 2026-08-14 08:13:27 -07:00
David Heinemeier Hansson c24302e65e Release omarchy 4.0.0rc5 2026-08-14 00:31:33 -07:00
David Heinemeier Hansson e4e7b9abf9 Release omarchy 4.0.0rc4 2026-08-13 13:53:24 -07:00
David Heinemeier Hansson b252a1cfb3 Latest from AUR 2026-08-13 11:58:32 -07:00
David Heinemeier HanssonandGitHub c9cdd594de Merge pull request #145 from tobi/add-grok-bot
Add grok-bot 0.18.0
2026-08-13 17:17:43 +02:00
David Heinemeier Hansson 84b86195cd Release omarchy 4.0.0rc3 2026-08-13 06:54:43 -07:00
David Heinemeier HanssonandGitHub 143a1697b0 Merge pull request #142 from axelfontaine/dbxcli-bin
Add dbxcli-bin from AUR
2026-08-13 14:52:56 +02:00
David Heinemeier HanssonandGitHub 437f66df41 Merge pull request #139 from tobi/update-omasnap-1.11.0
Update omasnap to 1.12.0
2026-08-13 14:52:19 +02:00
David Heinemeier HanssonandGitHub b0da1b3f1c Merge pull request #144 from omacom-io/fix-omarchy-nvim-aether-cache
Ship the aether plugin cache under the name Omarchy 4 asks for
2026-08-13 14:42:15 +02:00
David Heinemeier HanssonandClaude Opus 5 f20649b0a4 Ship the aether plugin cache under the name Omarchy 4 asks for
Omarchy 4 generates most theme specs from default/themed/neovim.lua.tpl on
top of aether, pinned as `name = "aether", branch = "v3"`. lazy indexes
specs by url and lets an explicit name rename the merged plugin, so the
bare "bjarneo/aether.nvim" entry here built the cache into lazy/aether.nvim
while every aether-themed install renamed that same plugin to lazy/aether at
runtime -- a directory the package never shipped. Picking one of those themes
on a fresh install cloned aether over the network at first launch and left
the session on tokyonight until nvim was restarted. Six stock Omarchy 4
themes route through the template, plus last-horizon.

Naming the entry to match builds the cache into lazy/aether directly. There
is still only one clone: Omarchy 3.8's hackerman theme depends on the bare
"bjarneo/aether.nvim" url, which merges into the same plugin, so 3.8 keeps
resolving offline as before.

Also keep refs/remotes/origin/HEAD when slimming. It pins no objects, but
lazy.nvim resolves the default branch through it for plugins parked on a
detached HEAD by a version pin -- lazy.nvim, LazyVim and blink.cmp. Without
it get_branch() returns nil and every lockfile write asserts, so :Lazy
install/update/sync died with E5113 on a fresh install, taking out the usual
self-heal path too. Regression from 45ca871.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 04:31:10 -07:00
David Heinemeier HanssonandClaude Opus 5 3d3ace990b Update ttf-jetbrains-mono-nerd-basic to v3.5.0
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 03:33:32 -07:00
David Heinemeier HanssonandClaude Opus 5 5a83d2e470 Update omatrack to v0.9.11
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 03:32:48 -07:00
David Heinemeier HanssonandClaude Opus 5 385ef1eca4 Update omasnap to v1.12.0
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 03:32:48 -07:00
David Heinemeier HanssonandClaude Opus 5 7c908cb9b7 chore: sync AUR packages
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 03:31:01 -07:00
David Heinemeier HanssonandClaude Opus 5 0f038a0dcc Update aether to v4.28.4
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 03:21:25 -07:00
David Heinemeier HanssonandClaude Opus 5 c0e319abfa Update cliamp to v1.63.1
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 03:21:25 -07:00
David Heinemeier Hansson aa53101b3e Release omarchy 4.0.0rc2 2026-08-12 14:32:02 -07:00
David Heinemeier HanssonandGitHub cb33aaaa46 Merge pull request #140 from omacom-io/install-crash-watch-user-unit
Install omarchy-crash-watch.service into /usr/lib/systemd/user
2026-08-12 23:11:07 +02:00
David Heinemeier HanssonandClaude Opus 5 2aa5c50e65 Install omarchy-crash-watch.service into /usr/lib/systemd/user
#6746 added the unit, the binary, the enable-user-units.sh entry, and a
migration, but not the install line here -- so omarchy-settings shipped
omarchy-crash-watch.service only into the default/ template tree and never
into the search path systemd actually reads.

install/user/first-run/enable-user-units.sh enables its six units in a single
`systemctl --user enable --now` call, so the missing unit failed the whole
call. omarchy-provision-first-run only marks first-run-user when every step
succeeds, which meant first-run never completed and replayed on every login,
re-firing the "Learn Keybindings" and "Update System" notifications. Because
enable is atomic, it also left the other five units disabled -- no bluetooth
agent, sleep lock, monitor recovery, migrate notifier, or fcitx5.

Migration 1786539345 falls back to writing the wants symlink by hand when
there is no live user manager, pointing at the /usr/lib path this omission
left empty, so existing installs got a dangling symlink too.

No new migration is needed: affected installs retry first-run on the next
login and succeed, and the dangling symlinks resolve as soon as the file
exists at that path.

test/shell.d/config-test.sh already asserts this install and fails without it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm1hEGtGRUrfqxMbTi1fWe
2026-08-12 23:08:13 +02:00
David Heinemeier HanssonandGitHub f77ce8eed0 Merge pull request #138 from spencerbull/linux-ptl-xps16-panel-replay
Add XPS 16 to linux-ptl Panel Replay workaround
2026-08-12 23:04:38 +02:00
David Heinemeier Hansson 058eb6392a Release omarchy 4.0.0rc1 2026-08-12 11:34:32 -07:00
David Heinemeier HanssonandGitHub 14f8952a3e Merge pull request #135 from omacom-io/omarchy-crash-watch-unit
Install the omarchy-crash-watch user unit
2026-08-12 18:37:51 +02:00
David Heinemeier HanssonandGitHub 77916eba4e Merge pull request #134 from omacom-io/push-pkgbase-selection
Push whole pkgbases, and stop the sync guard tripping over bsdtar
2026-08-12 14:45:00 +02:00
David Heinemeier HanssonandClaude Opus 5 daf98026bc Make bin/setup work on Ubuntu, which is what the host runs
The first version checked for pacman and refused anything else, so it would
have declined to run on the actual repository host. Nothing about that host
needs to be Arch: makepkg, repo-add and signing all happen inside containers.

Setup now detects apt or pacman and installs the right names for each --
bsdtar is libarchive-tools on Debian and libarchive on Arch. The requirement
list drops gnupg and the Arch build tools, which the host never runs directly,
leaving Docker, rclone, bsdtar, jq, git and rsync.

Docker is checked before being installed. A host may be running a version from
Docker's own repository, and replacing that underneath a working builder would
be a poor trade for consistency; setup starts it if stopped and otherwise
leaves it alone.

Verified both paths: apt installs the five dependencies and docker.io on a
bare Ubuntu 24.04 container, and an Arch host with Docker already running is
left untouched. A missing systemctl now reports that a container cannot be a
repository host instead of failing on an unknown command.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 05:43:23 -07:00
David Heinemeier HanssonandClaude Opus 5 f8c1cbb072 Add bin/setup to prepare a repository host
The sync guard could not read the repository database because bsdtar was not
installed on the host, and the first fix was to parse around its absence. The
better answer is for the host to have what the tooling needs: libarchive ships
the library pacman links against without necessarily installing the binary, so
bsdtar being present was an assumption, not a fact.

bin/setup installs the dependencies, enables Docker, creates the state
directory, and installs and enables the release timers -- the steps the README
previously listed by hand. It is idempotent and takes --check to report without
changing anything. Signing credentials and the rclone remote hold secrets, so
it reports on those rather than creating them.

sync-repo goes back to reading the database with bsdtar alone, and says to run
bin/setup when it is missing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 05:04:06 -07:00
David Heinemeier HanssonandClaude Opus 5 dbe1db4b03 Read the remote database without depending on bsdtar
The partial-tree guard parsed omarchy.db with bsdtar, which is not installed on
the repository host. Every sync there aborted with "the remote database exists
but could not be read" -- a guard meant to catch a partial tree instead blocked
a complete one, stopping a publish after sign, promote and update had already
succeeded.

GNU tar reads the database fine when it is a seekable file; the pipe was what
defeated it originally, and that is already downloaded to a temp file. tar now
leads, with bsdtar as a fallback for a tar too old to detect zstd.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 04:59:22 -07:00
David Heinemeier Hansson bbe7beeb2d Install the omarchy-crash-watch user unit
Ships with the crash notifier added in basecamp/omarchy, which offers an AI
diagnosis when a process dumps core.
2026-08-12 13:54:18 +02:00
David Heinemeier HanssonandClaude Opus 5 ca90a19d73 Push every output of a selected pkgbase
--package meant a pkgbase to bin/build and a literal package name to
bin/push-build, so deploy --package nvidia-580xx-utils built three packages and
published one, leaving nvidia-580xx-dkms and opencl-nvidia-580xx behind with no
indication anything was missing. Hit while deploying exactly that package.

Selection now matches on the pkgbase recorded in .PKGINFO as well as on the
package name, so a pkgbase ships all of its outputs and an individual name
still selects just that one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 04:24:38 -07:00
David Heinemeier HanssonandGitHub 9cf3794713 Merge pull request #133 from omacom-io/repo-deploy-command
Build heavy packages locally, publish them from the repo host
2026-08-12 13:10:47 +02:00
David Heinemeier HanssonandClaude Opus 5 51004999e7 Stop an unscoped deploy from rebuilding the whole repository
bin/build asks the local repository database which packages are already built.
A build machine has no such database, so every package looks out of date: an
unscoped 'bin/repo deploy' on this laptop would have built all 108 packages and
published them. Verified with a dry run.

deploy now refuses to run unscoped when that database is absent, and push
refuses the same combination under --yes, where nobody would see the list it
prints before publishing. Both are allowed on the repository host, which has
the database that makes the comparison meaningful.

Also states the split in the README: build, push and deploy are the three
commands that may run off the repository host; everything else works on the
published tree directly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 04:03:31 -07:00
David Heinemeier HanssonandClaude Opus 5 736579a6eb Drop the stale note about arming the build trigger
The warning dated from when .build-host was the release trigger's own setting
and push was a second consumer of it. One setting now names one machine for all
three commands, so there is nothing to keep separate -- and the advice was
wrong regardless: OMARCHY_REPO_HOST is read by the same resolver, so it arms
the trigger exactly as the file does. Only --host is per-invocation.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 03:58:57 -07:00
David Heinemeier HanssonandClaude Opus 5 c2305c52d1 Drop the legacy build-host names
OMARCHY_BUILD_HOST and .build-host were carried as fallbacks through the
rename. Nothing in this checkout ever set either one, so they were a second
name for a setting that has only one real name.

Resolution is now --host, OMARCHY_REPO_HOST, .repo-host.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 03:49:55 -07:00
David Heinemeier HanssonandClaude Opus 5 34326295e9 Name the server OMARCHY_REPO_HOST, not OMARCHY_BUILD_HOST
Builds now happen wherever the operator likes, so naming the destination after
building described the old arrangement rather than the current one. What the
push and deploy commands reach is the machine that serves pkgs.omarchy.org and
holds the signing key: the repository host. It also runs the scheduled builds,
which is why the trigger in omarchy-pkgs release points at the same place.

Resolution moves into helpers/host-helpers.sh, which all three commands now
share instead of repeating: --host, then OMARCHY_REPO_HOST, then .repo-host.
OMARCHY_BUILD_HOST and .build-host keep working as fallbacks, so existing
environments and checkouts are unaffected.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 03:46:58 -07:00
David Heinemeier HanssonandClaude Opus 5 fd9c078bf2 Fix nine defects in the push/sync path found in review
The worst was fatal: push passed --skip-prod-check to upload-prebuilt, which
forwards every argument to sign, promote and update as well, and sign rejects
unknown options. Every non-dry-run push and deploy would have uploaded and
verified its artifacts and then failed before signing. upload-prebuilt now
routes publishing flags to sync alone.

The partial-tree guard was weaker than it looked:

  - it counted archive files locally against package names in the remote
    database, and this tree keeps two versions per package, so a checkout with
    a spare version of half the repository could pass while still hiding
    hundreds of packages. It now compares package-name sets and lists what
    would be hidden.
  - it treated any unreadable remote as an empty one, so an auth failure or a
    corrupt database disabled it. Only rclone's "directory not found" now
    counts as a fresh mirror; every other failure aborts.

Also:

  - sync had no set -e, so a failed package upload fell through to publishing
    the database, advertising packages that were never uploaded. Each transfer
    is now checked before the next step.
  - --package with no names silently meant "every package", which under --yes
    could publish everything from one unset variable in a script.
  - push now refuses to run when the host has packages staged from an earlier
    failure, since publishing would sign and promote those too.
  - epoch versions contain a colon, which rsync reads as host:path, so no
    package with an epoch could be transferred. Sources are ./-prefixed.
  - remote paths are quoted for the remote shell.
  - sync spun forever on a missing option value.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 03:39:55 -07:00
David Heinemeier HanssonandClaude Opus 5 c5f5f1c12c Add bin/repo deploy and --host on every server-facing command
deploy runs build then push, which is the whole workflow on a local build
machine. It resolves the build host before building so a missing --host fails
in a second rather than after a long compile.

--host now overrides $OMARCHY_BUILD_HOST and .build-host on deploy, push, and
the build trigger in omarchy-pkgs release, so a server can be named per
invocation without arming the release auto-trigger.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 03:23:30 -07:00
David Heinemeier HanssonandClaude Opus 5 bf53101bbf Add bin/repo push and stop sync from deleting production
Heavy packages build faster on a local machine, but there was no way to get
the artifacts to the server: bin/upload-prebuilt publishes to the rclone
remote from whatever tree it runs in, so the local -> host hop was manual.

bin/repo push rsyncs build-output artifacts to the host, verifies checksums,
and runs upload-prebuilt over ssh. Signing stays on the host, which is the
only machine with the key and the only one holding a complete repository.

Publishing from a local checkout was worse than merely unsupported. sync ran
rclone sync --delete-after against a tree that pkgs.omarchy.org/ gitignores,
so on any machine that had not run a full release it would have deleted the
production repository -- guarded only by a y/N prompt that --skip-prod-check
turns off. Package uploads are now additive, deletion moves behind --prune,
and sync refuses to publish a database built from a tree holding fewer
packages than the remote already lists.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 03:13:06 -07:00
David Heinemeier HanssonandClaude Opus 5 799a98a456 Compress the nvidia 580xx packages with maximum zstd
The build image compresses at zstd's default level, which leaves these
unstripped driver blobs 22% larger than they need to be. Measured against the
packages on the quattro-beta3 ISO:

  nvidia-580xx-utils        359.4 -> 276.2 MiB
  lib32-nvidia-580xx-utils   74.2 ->  48.8 MiB
  nvidia-580xx-dkms          85.5 ->  79.8 MiB

That is 114 MiB off the ISO's offline mirror, which stores packages
essentially uncompressed inside squashfs, so it comes straight off the image.
The dkms package rides along on its pkgbase.

Carried as .omarchy patches so they survive AUR syncs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 00:55:43 -07:00
David Heinemeier HanssonandClaude Opus 5 bdbf7182c0 Compress openai-codex-desktop with maximum zstd
The build image sets COMPRESSZST to zstd's default level, which leaves this
1.3 GB Electron tree at 448 MB -- larger than the 334 MB deb it repackages.
Maximum zstd brings it to 323 MB, beating xz on both size and decompression
speed, for ~4 extra minutes of build time.

Carried as an .omarchy patch so it survives AUR syncs. pkgrel picks up the
Omarchy suffix accordingly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 00:18:27 -07:00
David Heinemeier HanssonandClaude Opus 5 653b8c36c3 Add openai-codex-desktop
Official ChatGPT/Codex desktop app, now shipping native Linux debs from
OpenAI. Fast ring, so it lands in stable alongside edge.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 00:18:27 -07:00
David Heinemeier HanssonandGitHub ae31e81113 Merge pull request #131 from spencerbull/update-linux-ptl-7.1.8
Update linux-ptl to 7.1.8
2026-08-12 08:47:41 +02:00
David Heinemeier HanssonandGitHub 0fa718b900 Merge pull request #132 from tobi/update-omasnap-1.10.0
Update omasnap to 1.10.0
2026-08-12 08:47:13 +02:00
David Heinemeier Hansson 04e5d2d5db Update ttfx to v0.3.1 2026-08-11 13:56:08 -07:00
David Heinemeier HanssonandGitHub 3c4590ca0b Merge pull request #126 from scottjones/tobi-try-arch-any
Mark tobi-try arch=any
2026-08-11 12:29:50 +02:00
David Heinemeier HanssonandGitHub 4b3856b58b Merge pull request #129 from tobi/add-omasnap
Update omasnap to 1.0.6
2026-08-11 12:29:31 +02:00
David Heinemeier HanssonandGitHub aa36bfac58 Merge pull request #130 from tobi/update-omatrack-0.9.10
Update omatrack to 0.9.10
2026-08-11 12:29:23 +02:00
David Heinemeier Hansson 12d7bce4d7 Update herdr to 0.8.0.r13 with upstream window titles and agent option replay 2026-08-11 09:56:17 +02:00
David Heinemeier HanssonandGitHub a70e95993c Merge pull request #128 from tobi/add-omasnap
Add omasnap screenshot editor
2026-08-10 23:18:44 +02:00
David Heinemeier HanssonandClaude Opus 5 91169b149b Update ttfx to v0.3.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 14:03:48 -07:00
David Heinemeier Hansson d0dbcd269c Update herdr to 0.8.0.r12 with handoff and agent option fixes 2026-08-10 21:44:53 +02:00
David Heinemeier Hansson 360539db48 Update herdr to 0.8.0.r11 with window title caching fix 2026-08-10 21:28:37 +02:00
David Heinemeier Hansson 906d7dce0d Update herdr to 0.8.0.r10 with window title delivery fixes 2026-08-10 21:21:27 +02:00
David Heinemeier HanssonandClaude Opus 5 0433b2ac30 quickshell-git: drop patches, bump to 0.3.0.r20.g28771c7
Both fixes we carried are upstream now, in the only two commits made
since our pin: 43d4fa9 strips the crash relaunch environment and closes
the info fd, and 28771c7 makes IpcHandler deregister through the
registry it registered with rather than re-resolving its engine
generation.

Upstream reaches the IPC fix differently - IpcHandlerRegistry became a
QObject held in a QPointer, where we kept a raw back-pointer cleared
from ~IpcHandlerRegistry - but it covers the same two cases: a handler
outliving its QML context, and a registry destroyed before its handlers.

Built clean without the patches at 0.3.0.r20.g28771c7-1.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 09:04:40 -07:00
David Heinemeier Hansson ae07234a01 Update herdr to 0.8.0.r9 with outer terminal window titles 2026-08-10 16:46:12 +02:00
David Heinemeier Hansson d3f4a7027e Update herdr to 0.8.0.r8 with simplified agent option replay 2026-08-10 16:46:12 +02:00
David Heinemeier Hansson 0bd0db67ef Update ttfx to v0.2.1 2026-08-10 06:30:21 -07:00
David Heinemeier Hansson 2f5c729894 Update ttfx to v0.2.0 2026-08-10 06:09:52 -07:00
David Heinemeier Hansson 3d083329b6 Update ttfx to v0.1.3 2026-08-10 04:18:52 -07:00
David Heinemeier Hansson cf56a7afa4 Update to latest 2026-08-10 10:52:48 +02:00
David Heinemeier HanssonandGitHub 61bfd13f6f Merge pull request #127 from omacom-io/add-ttfx
Add ttfx — terminal text effects as a single static binary
2026-08-10 10:52:07 +02:00
David Heinemeier Hansson aaa76102b7 Update herdr to 0.8.0.r6 now that all patches are upstream 2026-08-10 10:18:27 +02:00
David Heinemeier HanssonandClaude Fable 5 554a670410 ttfx: bump to v0.1.2
v0.1.1 was withdrawn upstream — it was tagged without the Cargo.toml
bump, so its binary reported 0.1.0. v0.1.2 corrects the version string.

Rebuilt with makepkg on x86_64; packaged binary reports ttfx 0.1.2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 16:15:24 -07:00
David Heinemeier HanssonandClaude Fable 5 32cf2939a7 ttfx: point at renamed repo, bump to v0.1.1
The repo is now omacom-io/ttfx, matching the binary and package name, so
the source URL and archive checksum change with it (the tarball's
top-level directory is the repo name). v0.1.1 adds NOTICE and a
standard-form MIT LICENSE, both now installed.

Rebuilt and verified with makepkg on x86_64.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 16:12:17 -07:00
David Heinemeier HanssonandClaude Fable 5 23d7d6c4e8 Add ttfx: terminal text effects as a single static binary
Rust port of terminaltexteffects that renders byte-identical frames to
the Python original, as one dependency-free binary.

- ~1 ms startup vs ~107 ms for the Python import alone
- median 9.6x faster rendering; heavy effects hold 120fps fullscreen
  where Python drops to ~71fps
- CLI-compatible with tte: same option names, defaults, and exit codes

Built and verified locally with makepkg (x86_64): cargo test passes in
check(), package installs the binary plus shell completions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 16:03:57 -07:00
David Heinemeier Hansson 0dad802300 Update herdr to 0.8.0.r5 with review fixes and CJK-safe tab centering 2026-08-09 18:12:13 +02:00
David Heinemeier HanssonandClaude Fable 5 89a5159396 Add omatrack 0.9.0, cross-format motorsport telemetry workstation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Bo6BfZfvZFT5YPEXdv6BZ
2026-08-09 17:37:49 +02:00
David Heinemeier Hansson 54b38216f0 Update herdr to 0.8.0.r4 with centered tab labels 2026-08-09 14:51:50 +02:00
David Heinemeier Hansson 497c710ad4 Update herdr to 0.8.0.r3 with tab moves, zoom flag, and hostname display 2026-08-09 14:25:28 +02:00
David Heinemeier Hansson 2f50a31814 Rename omarchy-herdr to herdr, keeping our patched fork build 2026-08-09 13:52:59 +02:00
David Heinemeier Hansson 017a89f481 Point omarchy-herdr at the omacom-io/herdr fork 2026-08-09 13:29:41 +02:00
David Heinemeier Hansson b59069a3dc Update omarchy-herdr to 0.8.0.r2 with native pane resize keybindings 2026-08-09 13:25:47 +02:00
David Heinemeier Hansson 0c71613226 Maintain a herdr fork until we can get upstream feature changes 2026-08-08 12:56:51 +02:00
David Heinemeier Hansson 90c6092308 Update omawrite to v0.5.0 2026-08-07 04:29:12 -07:00
David Heinemeier Hansson 01d3e5fab9 Update omacut to v0.4.0 2026-08-07 03:03:18 -07:00
David Heinemeier Hansson 98edfcdd3d Update omacut to v0.3.0 2026-08-06 10:15:42 -07:00
David Heinemeier HanssonandClaude Fable 5 515434db6a Add nordvpn-bin v5.2.0 from AUR
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ls3ump7hcv46oNnjWW5AXmn
2026-08-05 22:54:04 +02:00
David Heinemeier HanssonandClaude Fable 5 98628968a3 Fix unbound variable expansion in add-package jq filters
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ls3ump7hcv4oNnjWW5AXmn
2026-08-05 22:54:04 +02:00
David Heinemeier HanssonandClaude Fable 5 b73a15f4ec Update omacalc to v0.2.2
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 10:42:32 -07:00
David Heinemeier HanssonandClaude Fable 5 a1937d66e1 Update omacalc to v0.2.1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 10:31:53 -07:00
David Heinemeier HanssonandClaude Fable 5 5603b273a9 Update omacalc to v0.2.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 10:15:27 -07:00
David Heinemeier Hansson b1ed1b72b0 Update omawrite to v0.4.1 2026-08-04 07:57:32 -07:00
David Heinemeier HanssonandClaude Fable 5 7a5f347a8b Update omacalc to v0.1.1
The desktop file and icon now ship as local sources, since the upstream
repo dropped its in-tree pkgbuild directory in favor of this one.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-01 20:26:13 -07:00