Commit Graph
1108 Commits
Author SHA1 Message Date
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
Scott JonesandClaude Opus 5 95ca4cdd3b Mark tobi-try arch=any
The package is three Ruby files and a symlink -- try.rb, lib/tui.rb,
lib/fuzzy.rb, and /usr/bin/try pointing at try.rb. build() only rewrites the
shebang to /usr/bin/ruby, package() only installs, and there are no
makedepends. Nothing in it is architecture-dependent.

Declaring ('aarch64' 'x86_64') means makepkg stamps whichever arch built it,
so serving both needs two builds of a byte-identical payload. With 'any' one
build covers every architecture.

Verified by building on aarch64: the resulting tobi-try-1.8.1-3-any package
has a byte-identical payload to the published x86_64 build, same symlink
target.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 22:55:45 -04: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
David Heinemeier HanssonandClaude Fable 5 14f3544a8b Add omacalc v0.1.0
Includes the .omarchy/package.json metadata the release pipeline
requires to enumerate a package -- without it, bin/repo release
silently skips the directory.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-01 20:07:41 -07:00
David Heinemeier HanssonandClaude Fable 5 45ca871e78 Slim omarchy-nvim by shallowing plugin repos and dropping test suites
Half the package was git history: lazy.nvim clones with
--filter=blob:none, which marks packs as promisor packs that gc refuses
to touch, so every plugin shipped its full commit graph. Cut each repo
to its checked-out tips (drop remote/tag refs, mark the tips as shallow
boundaries, strip the promisor markers, gc for real) and exclude
test/tests/spec via sparse-checkout so the restore pass in package()
does not resurrect them.

:Lazy update keeps working -- fetch into a shallow repo stays shallow
and re-fetches tags. 116 -> 52.5 MiB installed, 67 -> 32 MB download.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-01 19:59:44 -07:00
David Heinemeier Hansson 897256ca01 Add omacalc 2026-08-01 19:25:25 -07:00
David Heinemeier HanssonandClaude Fable 5 f95d544fdb Retry AUR clones and report the real error on failure
A transient network failure cloning retroarch-joypad-autoconfig-git took
the whole sync workflow red. Clones now retry up to 3 times, and the
failure message includes git's actual error instead of guessing "may not
exist in AUR" — which was never the cause anyway: AUR serves an empty
repo for unknown package names, so that case is now detected explicitly
by the missing PKGBUILD.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 22:04:01 -05:00
David Heinemeier HanssonandClaude Fable 5 eb0cce3d5c Ship systemd-oomd app.slice policy in omarchy-settings-dev
Installs the upstream app.slice oomd drop-in so memory pressure kills an
app scope instead of the compositor session, and protects user edits to
etc/systemd/oomd.conf.d/10-omarchy.conf on upgrade.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 22:03:55 -05:00
David Heinemeier HanssonandClaude Opus 5 0a80091fe6 Promote packages already in production idempotently
The dev packages are versioned off the quattro tip, so rebuilding the
same upstream commit yields the same filename. Promotion treated any
pre-existing filename as fatal, which wedged the release loop whenever a
run promoted but died before update-repo rebuilt the database: the stale
database kept advertising the older hash, so every later run rebuilt the
identical package and failed here again, retaining the state file each
time.

Compare the bytes instead. Identical packages are skipped and the run
continues, so the following update-repo step fixes the database and the
loop unsticks itself. Differing content under a published filename still
aborts. Signatures are judged by the package they sign, since gpg stamps
a timestamp into every signature and a re-signed package never matches.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 16:37:01 -07:00
David Heinemeier HanssonandClaude Opus 5 655b78764d Ship the omarchy-nvim plugin cache once
package() staged the LazyVim data tree twice: once at
/usr/share/omarchy-nvim/data and again at /etc/skel/.local/share/nvim. Only
the /etc/skel copy is ever read — new users are seeded from it, and
omarchy-nvim-setup prefers it — so the /usr/share copy was dead weight worth
close to half the package, which today is 243 MB installed and 178 MB read off
the ISO on every install. That made omarchy-nvim the largest package in an
Omarchy install after noto-fonts-cjk.

Drop it once /etc/skel has its copy, after the chmod and worktree restore that
copy inherits. config/ stays: both the Omarchy 4 remote-clipboard migration and
the 3.x disable-news-alert migration read it from there.

omarchy-nvim-setup's package-dir fallback narrows to config/ to match. It could
never have fired for data anyway — the setup script and /etc/skel ship in the
same package, so a new script can't pair with an old layout — and the remaining
way to lose the seed, hand-clearing /etc/skel, now says which directory is
missing and that pacman owns it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 15:21:33 -07:00
David Heinemeier HanssonandClaude Opus 5 316f0b3b6c Bump omawrite to v0.4.0
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JdHx785uZWd4vunmT6Gesh
2026-07-27 10:54:35 -07:00
David Heinemeier HanssonandClaude Opus 5 6d4502f3d7 Own the zram-generator config in omarchy-settings
The settings package now ships /etc/systemd/zram-generator.conf, so it needs
a backup entry to protect user edits across upgrades like every other file it
places in /etc, and an optdepends line pointing at the package that reads it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 10:54:35 -07:00
David Heinemeier HanssonandClaude Opus 5 7732831889 Update the build container before installing makedepends
The builder image is layer-cached, so its glibc drifts behind the
mirror while makepkg -s installs makedepends from the freshly synced
database. omarchy-settings-dev died on that partial upgrade: the new
imagemagick needs GLIBC_2.44 and magick refused to run in package().

pacman -Syu runs before the Omarchy repos are appended, so only
core/extra take part -- in-flight build-output packages can't be
pulled into the container.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 10:03:52 -07:00
David Heinemeier HanssonandClaude Opus 5 0fe00d882e Stop AUR sync for v4l2-relayd
The sync regenerated the PKGBUILD from AUR and clobbered the splashsrc
patch (restored in 564d0b4). Pin it so the local changes survive.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 09:54:29 -07:00
David Heinemeier HanssonandClaude Fable 5 0f90fb97aa Give pinned libfprint-git an epoch and stop AUR sync
The pin to d79f157 rebuilt 1.94.10.r12.gd79f157-1.1, but those exact
filenames were already published, so promotion failed. And an untested
1.94.10.r220.g695663f build from master had already been released,
which sorts above the pinned version, so the pin could never reach
users anyway. epoch=1 makes the pinned build win the version
comparison and gives it promotable filenames; once published, the
commit-hash check skips further rebuilds.

Also disable AUR sync: the bot would otherwise regenerate the PKGBUILD
from AUR and wipe out both the pin and the epoch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 09:53:23 -07:00
David Heinemeier HanssonandClaude Fable 5 36c5309d88 Restore the v4l2-relayd splashsrc patch clobbered by AUR sync
Commit 7922065 added 0002-escape-optional-splashsrc-expansion.patch
directly to the package dir, but the AUR sync bot regenerates the dir
from AUR plus .omarchy/patches, so the next sync (f886efe) dropped the
patch and reverted pkgrel to 2.1. That stale pkgrel then made the build
server rebuild 0.2.0-2.1, whose filenames already exist in production,
failing promotion.

Restore the patch and pkgrel=2.2, carry the customization as an
.omarchy/patches sync patch, and bump the metadata pkgrel suffix to 2
so future syncs keep producing 2.2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 09:53:23 -07:00
David Heinemeier HanssonandGitHub 1ac34148f2 Merge pull request #121 from omacom-io/install-fcitx5-unit
Install the fcitx5 input method unit
2026-07-27 09:50:32 -07:00
David Heinemeier HanssonandClaude Opus 5 9921c30b7f Install the fcitx5 input method unit
omarchy moves fcitx5 off Hyprland's fire-and-forget autostart onto a
supervised systemd user service, so ~/.XCompose compose sequences stop
dying silently when it goes away. Ship the unit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 09:49:57 -07:00
David Heinemeier HanssonandClaude Opus 5 95d1f3c251 Install the Taildrop receive unit
omarchy-tailscale-receive.service was in default/systemd/user/ but never
installed, so `systemctl --user enable` found no unit for it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-26 19:03:23 -07:00
Ryan HughesandGitHub 14b71bde37 Merge pull request #113 from omacom-io/auto/sync-aur
chore: sync AUR packages
2026-07-26 19:40:02 -04:00
David Heinemeier HanssonandClaude Opus 5 5d92390cd9 Ship the migration notifier as a login-only unit
omarchy renamed omarchy-update-user-notify to omarchy-migrate-notify and
dropped the .path watcher that fired during every package update.

Keep the old service name as a symlink onto the new unit. Existing users hold
an absolute graphical-session.target.wants symlink to the old path, and the
migration that repoints it only runs for users who run an update, which is the
opposite of who the notifier is for. Without the alias their symlink dangles
and they are never told about pending migrations.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-26 14:50:15 -07:00
David Heinemeier HanssonandClaude Fable 5 7fb4dd4746 Pin libfprint-git to last known good commit
libfprint 1.94.100 ships the focaltech_moc driver and the FocalTech
FT9349 (2808:a97a) ID, so Omarchy is back on stock libfprint. Keep
this package as an escape hatch, pinned to the commit behind the
currently published build so it can't drift onto untested master.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V6ADCjSXt3kd9XGCAJKJkT
2026-07-26 12:30:04 -07:00
ryanrhughesandgithub-actions[bot] f886efebe5 chore: sync AUR packages 2026-07-26 19:16:43 +00:00
David Heinemeier HanssonandClaude Opus 5 82c90022b7 Install zram tuning as a vendor drop-in
/etc/systemd/zram-generator.conf collided with the copy archinstall writes on
every ISO install. zram-generator.conf(5) reserves /etc for the local admin and
has vendors ship snippets under /usr/lib/systemd/zram-generator.conf.d/, where
drop-ins outrank the main config file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LjeyQZsNBxqyYy9z8KaKm7
2026-07-25 14:00:43 -07:00
David Heinemeier HanssonandClaude Opus 5 ebe4f9a71f Seed Tensaku's annotation size state for new users
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-25 08:44:21 -07:00
David Heinemeier HanssonandClaude Opus 5 6a463b71a6 Back up the logind inhibit-delay drop-in
omarchy ships etc/systemd/logind.conf.d/20-inhibit-delay.conf, which raises
InhibitDelayMaxSec so the pre-suspend lock can finish securing the session
before logind stops honouring its inhibitor and suspends anyway.

package() already installs it along with the rest of the etc tree, so this
changes nothing about whether the file lands. Listing it here is what keeps
pacman from clobbering a user's edit to it on upgrade, matching every other
/etc path this package owns.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-25 07:12:41 -07:00