chore(nix): remove the self-hosted flake package#262
Conversation
OpenLogi is packaged in nixpkgs (NixOS/nixpkgs#527640) and distributed via homebrew-cask, so the repo's own flake adds no distribution path those don't already cover. Its single cargoHash had to be re-bumped on every Cargo.lock change -- dep bump, gpui pin bump, and (because fetchCargoVendor copies Cargo.lock into the vendored FOD, and Cargo.lock embeds the 10 local openlogi* crate versions) every release version bump. That recurring churn left the flake silently broken on master (the committed hash is for the 0.4.0-era lock; the tree is at 0.6.13). cargoDepsName = pname (proposed in #162) does not fix this: it only renames the deps derivation, which changes its store path, not the recursive NAR output hash the cargoHash verifies -- so a version bump still invalidates it. A fail-closed Nix CI guard (#114) would catch the drift but not remove the per-release maintenance. Dropping the flake removes the churn entirely. Removes flake.nix, flake.lock, and nix/package.nix. The devenv dev shell (.envrc / devenv.nix / devenv.yaml) is independent and unaffected. Revives #133; supersedes #114 and #162.
Greptile SummaryRemoves the repo's self-hosted Nix flake (
Confidence Score: 5/5Safe to merge — only deletes three files with no downstream references in CI, docs, or workflows. All three deleted files are self-contained: no CI job invokes No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[OpenLogi distribution] --> B[nixpkgs\nNixOS/nixpkgs#527640]
A --> C[homebrew-cask]
A -.->|removed by this PR| D["Repo flake\n(flake.nix / nix/package.nix)"]
E[Dev shell] --> F["devenv.nix\n(.envrc / devenv.yaml)\nunaffected"]
style D stroke-dasharray: 5 5,fill:#ffcccc
style B fill:#ccffcc
style C fill:#ccffcc
Reviews (1): Last reviewed commit: "chore(nix): remove the self-hosted flake..." | Re-trigger Greptile |
Removes OpenLogi's self-hosted Nix flake package (
flake.nix,flake.lock,nix/package.nix).Why
OpenLogi is already packaged in nixpkgs (NixOS/nixpkgs#527640) and distributed via homebrew-cask, so the repo's own flake adds no distribution path those two don't already cover — while it carried a recurring maintenance cost.
The package's single
cargoHashhad to be re-bumped on everyCargo.lockchange: a dependency bump, a gpui pin bump, and every release version bump. The version-bump case is not obvious, so to be precise about the mechanism:rustPlatform.fetchCargoVendorcopiesCargo.lockinto the vendored fixed-output derivation (pkgs/build-support/rust/fetch-cargo-vendor-util.py), andCargo.lockembeds the version of all 10 localopenlogi*workspace crates. A release rewrites those 10 lines → the vendored content changes → the recursive NARcargoHashchanges.With no Nix CI guard in place, that churn left the flake silently broken on
master: the committed hash is for the0.4.0-era lock, but the tree is at0.6.13.Why not the alternatives
cargoDepsName = pname) does not fix the churn.cargoDepsNameonly sets the deps derivation'sname, which changes its store path — not the recursive NAR output hash thatcargoHashverifies. The vendoredCargo.lock(with the bumped local versions) is unchanged in scope, so a version bump still invalidates the hash. (Verified against the pinned nixpkgsrev 4df1b88:build-rust-package/default.nixwirescargoDepsNameonly toname;fetch-cargo-vendor.nixsetsoutputHashMode = "recursive".)Scope / safety
flake.nix,flake.lock,nix/package.nixonly..envrc/devenv.nix/devenv.yaml) is independent of the flake and is unaffected —nix buildwas the flake's only output;use devenvprovides the shell.Revives #133; supersedes #114 and #162.