9d80f47625a59265d2539584ee715eb7192ea9a9
attic-closure archetype: no parity-lib builder exists for attic pushes, so
wrap the existing per-arch package build in ci/publish.py (woodpecker-peek
pattern) and expose `nix run .#{stage,publish}-amd64` + `.#publish`.
Two-halves rule: STAGE nix-builds every package in the arch list into the
local store (emmett-buildable); PUBLISH additionally attic-pushes each
closure. Local runs DRY-RUN unless --push/PUBLISH=1; CI sets PUBLISH=1.
The .woodpecker/{amd64,arm64}.yaml now call the same ci/publish.py so CI
and local runs can't drift. arm64 stays node-bound (no emmett cross path),
so it has no local-parity app. ci/build.py becomes a forwarding shim.
flake-hub
Personal Nix flake hub — custom packages and overlays
Overview
Personal Nix flake hub for publishing custom packages and overlays. Provides packages for x86_64-linux and aarch64-linux.
Build
nix build .#<package-name>
Antigravity
google-antigravity (FHS-wrapped) and google-antigravity-no-fhs are
re-exposed from
jacopone/antigravity-nix
(MIT). Upstream auto-updates daily via its own GitHub Actions; we just bump
the flake input and CI caches the build to attic.
When the in-app "new version available" banner appears (or you just want to refresh the pin):
just antigravity-update # nix flake update antigravity-nix
git commit -am "antigravity: bump"
git push # CI rebuilds and pushes to attic
Then, on the consumer:
cd ~/projects/servers/emmett
nix flake update oleks-nixpkgs
nix run .#deploy
Languages
Nix
82.3%
Shell
12.5%
Just
5.2%