# Nixpkgs overlay for commonscomputing # # Overlays modify the global pkgs set. Anything that references # `pkgs.` (including NixOS service modules using `mkPackageOption`) # automatically picks up our overrides without further config changes. # # Each override below should include a brief note about why we're overriding # and when the override can be removed (e.g. when nixpkgs catches up). final: prev: { # Override bluesky-pds to v0.4.219 (latest tag in bluesky-social/pds repo). # # As of 2026-04-26 nixpkgs-unstable ships 0.4.204. The deployed version on # z-space (from our pinned flake.lock) is even older at 0.4.182. # # Notable changes between 0.4.182 and 0.4.219: # - Default PDS_BLOB_UPLOAD_LIMIT doubled to 100 MB (commit cc0e9ac) # - Rate limits enabled by default (PR #308) # - Node bumped to v20.20 (commit 0ef7817) # - pdsadmin account commands replaced with goat (PR #313) # # Remove this override once nixpkgs ships bluesky-pds >= 0.4.219. bluesky-pds = prev.bluesky-pds.overrideAttrs (old: rec { version = "0.4.219"; src = prev.fetchFromGitHub { owner = "bluesky-social"; repo = "pds"; tag = "v${version}"; hash = "sha256-zXNg1rtXN9qdTBvRlSiPlRu6k1Pv3T8nhROsEarev5U="; }; sourceRoot = "${src.name}/service"; # pnpmDeps must be re-fetched whenever src changes because pnpm-lock.yaml # may have changed. The hash below was computed by running a build with # an empty hash and reading the correct one from the build failure. pnpmDeps = prev.fetchPnpmDeps { pname = "pds"; inherit version src sourceRoot; pnpm = prev.pnpm_9; fetcherVersion = 2; hash = "sha256-n7UurqgR15vu1yNRXCWTWpEU42xgqVVaKurIMvt3XYk="; }; }); }