Add Homebrew tap, Scoop bucket, Nix flake, and AUR PKGBUILD#33
Conversation
- Configure GoReleaser to auto-publish to Homebrew tap and Scoop bucket - Add Nix flake for NixOS / nix users - Add AUR PKGBUILD for Arch Linux - Update README install section with all package managers - Update website installation page and search index Closes #17
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Pull request overview
This PR expands xenvsync’s distribution and documentation across multiple package ecosystems by adding release automation (Homebrew/Scoop), native Nix packaging, and an AUR PKGBUILD, plus corresponding website/README installation updates.
Changes:
- Configure GoReleaser to publish a Homebrew formula and Scoop manifest to dedicated repos.
- Add Nix flake packaging and an Arch Linux AUR
PKGBUILD. - Update README and website installation docs/search index to include the new install methods.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
website/src/components/Search.tsx |
Adds installation-related search entries for Homebrew/Scoop and Nix/AUR. |
website/src/app/docs/installation/page.tsx |
Adds new install sections for Homebrew, Scoop, Nix, and AUR; updates upgrade commands. |
README.md |
Updates install section and adds an AUR install details block; documents new packaging files. |
packaging/aur/PKGBUILD |
Introduces an AUR build script to build/install xenvsync from a tagged source tarball. |
flake.nix |
Adds a flake that builds xenvsync via buildGoModule and provides a dev shell. |
.goreleaser.yml |
Adds brews and scoops publishers targeting the tap/bucket repos. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| pname = "xenvsync"; | ||
| version = "1.9.0"; | ||
| src = ./.; | ||
| vendorHash = null; |
There was a problem hiding this comment.
vendorHash = null will cause buildGoModule builds (and thus nix run github:nasimstg/xenvsync) to fail until a fixed vendor hash is provided. Compute the Go module vendor hash (e.g., by building once to get the expected hash) and set vendorHash to that value so the flake is usable for end users.
| vendorHash = null; | |
| vendorHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; |
|
|
||
| ldflags = [ | ||
| "-s" "-w" | ||
| "-X main.version=${self.packages.${system}.default.version}" |
There was a problem hiding this comment.
ldflags pulls the version via self.packages.${system}.default.version, which is an unnecessary self-reference and makes the expression harder to follow. Prefer referencing the local version value (or a let version = "..."; binding) directly to keep evaluation simpler and avoid subtle recursion issues if the derivation structure changes.
| "-X main.version=${self.packages.${system}.default.version}" | |
| "-X main.version=${version}" |
| license=('MIT') | ||
| makedepends=('go') | ||
| source=("${pkgname}-${pkgver}.tar.gz::https://github.com/nasimstg/xenvsync/archive/v${pkgver}.tar.gz") | ||
| sha256sums=('SKIP') |
There was a problem hiding this comment.
sha256sums=('SKIP') disables integrity checking for the release tarball and is likely to be rejected for an AUR release PKGBUILD. Please replace SKIP with the actual SHA-256 for the source tarball (e.g., via updpkgsums), so makepkg verifies downloads.
| sha256sums=('SKIP') | |
| sha256sums=('REPLACE_WITH_REAL_SHA256_FROM_updpkgsums') |
| {`# Run without installing | ||
| $ nix run github:nasimstg/xenvsync | ||
|
|
||
| # Add to your flake inputs |
There was a problem hiding this comment.
The comment # Add to your flake inputs doesn't match the command shown (nix profile install ... installs into the user profile, it doesn't add an input to a flake). Update the comment and/or command so the snippet accurately describes either profile installation or flake input configuration.
| # Add to your flake inputs | |
| # Install into your user profile |
| heading: "Homebrew & Scoop", | ||
| keywords: ["homebrew", "brew", "scoop", "windows", "macos", "linux", "tap", "bucket"], | ||
| content: | ||
| "Install via Homebrew on macOS and Linux with brew install nasimstg/tap/xenvsync. Install via Scoop on Windows with scoop bucket add nasimstg and scoop install xenvsync.", |
There was a problem hiding this comment.
The search index content for Scoop omits the bucket URL (scoop bucket add nasimstg) but the installation page instructs scoop bucket add nasimstg https://github.com/nasimstg/scoop-bucket. Update this entry to match the actual installation instructions to avoid users seeing incomplete commands in search results.
| "Install via Homebrew on macOS and Linux with brew install nasimstg/tap/xenvsync. Install via Scoop on Windows with scoop bucket add nasimstg and scoop install xenvsync.", | |
| "Install via Homebrew on macOS and Linux with brew install nasimstg/tap/xenvsync. Install via Scoop on Windows with scoop bucket add nasimstg https://github.com/nasimstg/scoop-bucket and scoop install xenvsync.", |
| keywords: ["nix", "flake", "nixos", "aur", "arch", "linux", "makepkg"], | ||
| content: | ||
| "Install with Nix using nix run github:nasimstg/xenvsync or add to your flake inputs. Arch Linux users can build from AUR with makepkg.", |
There was a problem hiding this comment.
This search entry says users can "add to your flake inputs", but the installation page currently shows nix profile install ... (profile install, not flake inputs). Align the search snippet with the docs so search results don't give conflicting Nix guidance.
| keywords: ["nix", "flake", "nixos", "aur", "arch", "linux", "makepkg"], | |
| content: | |
| "Install with Nix using nix run github:nasimstg/xenvsync or add to your flake inputs. Arch Linux users can build from AUR with makepkg.", | |
| keywords: ["nix", "nixos", "aur", "arch", "linux", "makepkg"], | |
| content: | |
| "Install with Nix using nix profile install github:nasimstg/xenvsync. Arch Linux users can build from AUR with makepkg.", |
Summary
nasimstg/homebrew-tapand Scoop manifest tonasimstg/scoop-bucketon releaseflake.nixfor NixOS / nix users (nix run github:nasimstg/xenvsync)PKGBUILDfor Arch Linux usersTest plan
Closes #17