|
7 | 7 | flake-utils.url = "github:numtide/flake-utils"; |
8 | 8 | k-framework.url = "github:runtimeverification/k/v7.1.280"; |
9 | 9 | k-framework.inputs.nixpkgs.follows = "nixpkgs"; |
10 | | - uv2nix.url = "github:pyproject-nix/uv2nix/680e2f8e637bc79b84268949d2f2b2f5e5f1d81c"; |
11 | | - # stale nixpkgs is missing the alias `lib.match` -> `builtins.match` |
12 | | - # therefore point uv2nix to a patched nixpkgs, which introduces this alias |
13 | | - # this is a temporary solution until nixpkgs us up-to-date again |
14 | | - uv2nix.inputs.nixpkgs.url = "github:runtimeverification/nixpkgs/libmatch"; |
| 10 | + uv2nix.url = "github:pyproject-nix/uv2nix/be511633027f67beee87ab499f7b16d0a2f7eceb"; |
| 11 | + # uv2nix requires a newer version of nixpkgs |
| 12 | + # therefore, we pin uv2nix specifically to a newer version of nixpkgs |
| 13 | + # until we replaced our stale version of nixpkgs with an upstream one as well |
| 14 | + # but also uv2nix requires us to call it with `callPackage`, so we add stuff |
| 15 | + # from the newer nixpkgs to our stale nixpkgs via an overlay |
| 16 | + nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; |
| 17 | + uv2nix.inputs.nixpkgs.follows = "nixpkgs-unstable"; |
15 | 18 | # uv2nix.inputs.nixpkgs.follows = "nixpkgs"; |
16 | 19 | pyproject-build-systems.url = "github:pyproject-nix/build-system-pkgs/7dba6dbc73120e15b558754c26024f6c93015dd7"; |
17 | 20 | pyproject-build-systems = { |
|
21 | 24 | }; |
22 | 25 | pyproject-nix.follows = "uv2nix/pyproject-nix"; |
23 | 26 | }; |
24 | | - outputs = { self, rv-nix-tools, nixpkgs, flake-utils, pyproject-nix, pyproject-build-systems, uv2nix, k-framework }: |
| 27 | + outputs = { self, rv-nix-tools, nixpkgs, flake-utils, pyproject-nix, pyproject-build-systems, uv2nix, k-framework, nixpkgs-unstable }: |
25 | 28 | let |
26 | 29 | pythonVer = "310"; |
27 | 30 | in flake-utils.lib.eachSystem [ |
|
31 | 34 | "aarch64-darwin" |
32 | 35 | ] (system: |
33 | 36 | let |
| 37 | + pkgs-unstable = import nixpkgs-unstable { |
| 38 | + inherit system; |
| 39 | + }; |
| 40 | + # for uv2nix, remove this once we updated to a newer version of nixpkgs |
| 41 | + staleNixpkgsOverlay = final: prev: { |
| 42 | + inherit (pkgs-unstable) replaceVars; |
| 43 | + }; |
34 | 44 | # due to the nixpkgs that we use in this flake being outdated, uv is also heavily outdated |
35 | 45 | # we can instead use the binary release of uv provided by uv2nix for now |
36 | 46 | uvOverlay = final: prev: { |
|
56 | 66 | pkgs = import nixpkgs { |
57 | 67 | inherit system; |
58 | 68 | overlays = [ |
| 69 | + staleNixpkgsOverlay |
59 | 70 | uvOverlay |
60 | 71 | kOverlay |
61 | 72 | kimpOverlay |
|
0 commit comments