From a41c68420d060e94568d42b8635d34d4daa4a3f8 Mon Sep 17 00:00:00 2001 From: Graham McInitre Date: Thu, 16 Jul 2026 08:47:37 -0500 Subject: [PATCH] fix: update nix flakes to work with nixpkgs 26.11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- flake.lock | 6 +++--- flake.nix | 10 +++++----- shell.nix | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 15dcb22e..32d3c335 100644 --- a/flake.lock +++ b/flake.lock @@ -59,11 +59,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1770197578, - "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", + "lastModified": 1784120854, + "narHash": "sha256-KesHgItiZPgGX740axSiQLcIQ8D24MDqNpkKYWIek8k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "rev": "753cc8a3a87467296ddd1fa93f0cc3e81120ee46", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 044da366..e0cbb92e 100644 --- a/flake.nix +++ b/flake.nix @@ -26,7 +26,8 @@ pre-commit-hooks, }: 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 = { @@ -45,17 +46,16 @@ }; overlays = [ # 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: { - # Use Erlang 29 (OTP 29.0) - erlang = prev.erlang_29; + # Use Erlang 29 (OTP 29.0.3) — no top-level erlang_29 yet, use beam.interpreters + erlang = prev.beam.interpreters.erlang_29; # Use Elixir 1.20 with Erlang 29 (1.20.2-otp-29) elixir = prev.beam.packages.erlang_29.elixir_1_20; # Ensure beam packages use our pinned versions # 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 ( self: super: { elixir = super.elixir_1_20; diff --git a/shell.nix b/shell.nix index 168012ed..3f8123c9 100644 --- a/shell.nix +++ b/shell.nix @@ -5,7 +5,7 @@ import ( fetchTarball { url = "https://github.com/edolstra/flake-compat/archive/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9.tar.gz"; - sha256 = "sha256-1prd9qvMxmK/v5qPbX8z1bwDOzocQFGKFQqz3EQ9MSY="; + sha256 = "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8="; } ) { src = ./.; } ).shellNix.default