feat(nix): enhance overlays (#10628)

uses the `final` fixed point package set as the source of dependencies
for the ghostty package created by the overlay - allows simpler
overriding of dependencies when using the overlay

no AI used
This commit is contained in:
Jeffrey C. Ollie
2026-02-09 18:02:09 -06:00
committed by GitHub

View File

@@ -63,6 +63,11 @@
forAllPlatforms = f: lib.genAttrs platforms (s: f legacyPackages.${s}); forAllPlatforms = f: lib.genAttrs platforms (s: f legacyPackages.${s});
forBuildablePlatforms = f: lib.genAttrs buildablePlatforms (s: f legacyPackages.${s}); forBuildablePlatforms = f: lib.genAttrs buildablePlatforms (s: f legacyPackages.${s});
mkPkgArgs = optimize: {
inherit optimize;
revision = self.shortRev or self.dirtyShortRev or "dirty";
};
in { in {
devShells = forAllPlatforms (pkgs: { devShells = forAllPlatforms (pkgs: {
default = pkgs.callPackage ./nix/devShell.nix { default = pkgs.callPackage ./nix/devShell.nix {
@@ -85,15 +90,10 @@
# Deps are needed for environmental setup on macOS # Deps are needed for environmental setup on macOS
deps = pkgs.callPackage ./build.zig.zon.nix {}; deps = pkgs.callPackage ./build.zig.zon.nix {};
}) })
// forBuildablePlatforms (pkgs: let // forBuildablePlatforms (pkgs: rec {
mkArgs = optimize: { ghostty-debug = pkgs.callPackage ./nix/package.nix (mkPkgArgs "Debug");
inherit optimize; ghostty-releasesafe = pkgs.callPackage ./nix/package.nix (mkPkgArgs "ReleaseSafe");
revision = self.shortRev or self.dirtyShortRev or "dirty"; ghostty-releasefast = pkgs.callPackage ./nix/package.nix (mkPkgArgs "ReleaseFast");
};
in rec {
ghostty-debug = pkgs.callPackage ./nix/package.nix (mkArgs "Debug");
ghostty-releasesafe = pkgs.callPackage ./nix/package.nix (mkArgs "ReleaseSafe");
ghostty-releasefast = pkgs.callPackage ./nix/package.nix (mkArgs "ReleaseFast");
ghostty = ghostty-releasefast; ghostty = ghostty-releasefast;
default = ghostty; default = ghostty;
@@ -137,10 +137,10 @@
overlays = { overlays = {
default = self.overlays.releasefast; default = self.overlays.releasefast;
releasefast = final: prev: { releasefast = final: prev: {
ghostty = self.packages.${prev.stdenv.hostPlatform.system}.ghostty-releasefast; ghostty = final.callPackage ./nix/package.nix (mkPkgArgs "ReleaseFast");
}; };
debug = final: prev: { debug = final: prev: {
ghostty = self.packages.${prev.stdenv.hostPlatform.system}.ghostty-debug; ghostty = final.callPackage ./nix/package.nix (mkPkgArgs "Debug");
}; };
}; };
}; };