fix: update nix flakes to work with nixpkgs 26.11

- Update nixpkgs lock (Feb → Jul 2026) for erlang_29 availability
- Fix erlang_29 reference: use beam.interpreters.erlang_29 instead of
  nonexistent top-level erlang_29
- Filter x86_64-darwin from systems (dropped in nixpkgs 26.11)
- Fix shell.nix flake-compat tarball hash
This commit is contained in:
Graham McInitre 2026-07-16 08:47:37 -05:00
parent e5a6dd173c
commit a41c68420d
3 changed files with 9 additions and 9 deletions

6
flake.lock generated
View file

@ -59,11 +59,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1770197578, "lastModified": 1784120854,
"narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", "narHash": "sha256-KesHgItiZPgGX740axSiQLcIQ8D24MDqNpkKYWIek8k=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", "rev": "753cc8a3a87467296ddd1fa93f0cc3e81120ee46",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -26,7 +26,8 @@
pre-commit-hooks, pre-commit-hooks,
}: }:
flake-parts.lib.mkFlake { inherit inputs; } { flake-parts.lib.mkFlake { inherit inputs; } {
systems = import systems; # nixpkgs 26.11 dropped x86_64-darwin support
systems = builtins.filter (s: s != "x86_64-darwin") (import systems);
perSystem = perSystem =
{ {
@ -45,17 +46,16 @@
}; };
overlays = [ overlays = [
# Pin specific Elixir and Erlang versions to match .tool-versions # Pin specific Elixir and Erlang versions to match .tool-versions
# Elixir 1.20.2-otp-29, Erlang 29.0 # Elixir 1.20.2-otp-29, Erlang 29.0.3
(final: prev: { (final: prev: {
# Use Erlang 29 (OTP 29.0) # Use Erlang 29 (OTP 29.0.3) — no top-level erlang_29 yet, use beam.interpreters
erlang = prev.erlang_29; erlang = prev.beam.interpreters.erlang_29;
# Use Elixir 1.20 with Erlang 29 (1.20.2-otp-29) # Use Elixir 1.20 with Erlang 29 (1.20.2-otp-29)
elixir = prev.beam.packages.erlang_29.elixir_1_20; elixir = prev.beam.packages.erlang_29.elixir_1_20;
# Ensure beam packages use our pinned versions # Ensure beam packages use our pinned versions
# This affects mixRelease and all BEAM-related builds # This affects mixRelease and all BEAM-related builds
# Override the default elixir within beamPackages to use 1.20
beamPackages = prev.beam.packages.erlang_29.extend ( beamPackages = prev.beam.packages.erlang_29.extend (
self: super: { self: super: {
elixir = super.elixir_1_20; elixir = super.elixir_1_20;

View file

@ -5,7 +5,7 @@
import ( import (
fetchTarball { fetchTarball {
url = "https://github.com/edolstra/flake-compat/archive/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9.tar.gz"; url = "https://github.com/edolstra/flake-compat/archive/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9.tar.gz";
sha256 = "sha256-1prd9qvMxmK/v5qPbX8z1bwDOzocQFGKFQqz3EQ9MSY="; sha256 = "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=";
} }
) { src = ./.; } ) { src = ./.; }
).shellNix.default ).shellNix.default