Add nak and ngit to every edition #80
No reviewers
Labels
No labels
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
monolith-os/monolith!80
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "add-nostr-tools"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds two nostr tools to common.yml so every edition ships them: nak (the nostr army knife CLI) and ngit (git branches and patches over nostr).
Neither is packaged for Fedora, Terra, or any live COPR (the COPR search hits are unrelated fuzzy matches), so both are baked in from their upstream GitHub releases using the tea/superfile pattern: resolve the latest tag at build time so they track upstream with no manual bumps.
Two things differ from the tea and superfile snippets, both called out in comments:
No checksum verification. Neither project publishes a checksums file (verified against nak v0.20.2 and ngit v2.6.3). Each block instead ends with a
--versionsmoke test. That is a smaller loss than it looks: a checksums file served from the same release as the binary was never a trust anchor against a bad upstream, only against a corrupted transfer, and HTTPS plus the smoke test cover that. If either project starts publishing checksums, these should switch to the superfile pattern.ngit installs two binaries. The tarball carries
ngitandgit-remote-nostr, and both need to be in PATH since git execs the remote helper fornostr://remotes. The musl tarball is used rather than the glibc one so the binaries are fully static and cannot drift against the image's glibc.Tested by extracting both snippets from the recipe and running them verbatim against a throwaway prefix: all three binaries download, install, and report their versions (nak v0.20.2, ngit 2.6.3).
Worth knowing before merging: these add about 79MB to the image (nak is 44MB and ships unstripped with debug info, ngit 18MB, git-remote-nostr 16MB). Stripping nak would claw back roughly half of its size if that matters more than shipping exactly what upstream built.
🧪 Test this PR on a real install
Once the build checks on this PR pass, a signed test image is published for each edition this PR builds. Pick the one matching your hardware and, from an existing Monolith install (which already has the signing policy), rebase onto it:
gnomekdexfcecosmicbudgiehyprland-noctaliahyprland-dmsniri-noctalianiri-dmsnourishgnome-nvidiakde-nvidiaxfce-nvidiacosmic-nvidiabudgie-nvidiahyprland-noctalia-nvidiahyprland-dms-nvidianiri-noctalia-nvidianiri-dms-nvidianourish-nvidiaThe tags are rebuilt on every new commit here, so
rpm-ostree upgradepulls the latest build. When you're done testing, return to your edition's released image (:latest).The commands cover the editions this PR affected when it was opened; commits that touch more editions publish their tags too, just without a refreshed comment. The test tags stop updating once this PR is merged or closed.