Skip to content

feat(nix): support x86_64-darwin via nixpkgs-26.05-darwin - #1

Merged
DivitMittal merged 3 commits into
mainfrom
feat/x86_64-darwin
Oct 23, 2026
Merged

DivitMittal merged 3 commits into
mainfrom
feat/x86_64-darwin

Conversation

@DivitMittal

@DivitMittal DivitMittal commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Nixpkgs 26.11 dropped x86_64-darwin, so every output of this flake threw on that system (Nixpkgs 26.11 has dropped support for x86_64-darwin). That also broke consumers such as infra-nixCfg's L1 host once their nixpkgs moves past 26.05.

  • Adds a nixpkgs-2605 input (nixpkgs-26.05-darwin) and uses it for perSystem pkgs on x86_64-darwin only; other systems still use nixpkgs-unstable. This is the same pattern term-nixCfg, ai-nixCfg and quant-nixCfg use.
  • apm-cli isn't in 26.05, so the devshell falls back to running the same PyPI release (microsoft/apm, apm-cli 0.34.0) via uv tool run when pkgs lacks it.

Consumers that set inputs.nixpkgs.follows should also set inputs.nixpkgs-2605.follows to their own 26.05 input.

  • Pins systems to nix-systems/default@da67096a. Upstream removed x86_64-darwin from that list in c29398b5, so a relock would otherwise drop every x86_64-darwin output.

Testing

  • packages, devShells and checks.pre-commit evaluate on x86_64-darwin, aarch64-darwin, x86_64-linux and aarch64-linux. Derivations on the non-x86_64-darwin systems are unchanged.
  • On x86_64-darwin: packages.default builds and android-kvm --help runs. In nix develop, apm --version prints 0.34.0, and scrcpy, adb and cargo are on PATH.

Nixpkgs 26.11 dropped x86_64-darwin, so every output on that system
threw at evaluation. Use nixpkgs-26.05-darwin for perSystem pkgs there
(nixpkgs-unstable everywhere else), matching term-nixCfg/ai-nixCfg.

apm-cli isn't packaged in 26.05, so the devshell runs the same PyPI
release (microsoft/apm) ephemerally via uv when pkgs lacks it.
nix-systems/default removed x86_64-darwin from its list upstream (c29398b5).
Pin systems to da67096a, the last revision that still lists it, so a
relock can't drop this flake's x86_64-darwin outputs.
@DivitMittal
DivitMittal merged commit 3471b90 into main Oct 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant