From a6b7dae4d878f8a36e65f3e2242af961f85b2bb7 Mon Sep 17 00:00:00 2001 From: janis Date: Wed, 3 Sep 2025 16:06:17 +0200 Subject: [PATCH] maybe actually fix the rust-overlay thing? --- flake.lock | 22 ++-------------------- flake.nix | 43 +++++++++++++++++++++++-------------------- 2 files changed, 25 insertions(+), 40 deletions(-) diff --git a/flake.lock b/flake.lock index 1e86bde..b272e49 100644 --- a/flake.lock +++ b/flake.lock @@ -1,23 +1,5 @@ { "nodes": { - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1756787288, @@ -52,9 +34,9 @@ }, "root": { "inputs": { - "flake-utils": "flake-utils", "nixpkgs": "nixpkgs", - "rust-overlays": "rust-overlays" + "rust-overlays": "rust-overlays", + "systems": "systems" } }, "rust-overlays": { diff --git a/flake.nix b/flake.nix index edacaf2..922296a 100644 --- a/flake.nix +++ b/flake.nix @@ -3,46 +3,49 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + systems.url = "github:nix-systems/default"; rust-overlays.url = "github:oxalica/rust-overlay"; - flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, flake-utils, rust-overlays, ...}: - flake-utils.lib.eachDefaultSystem (system: let - pkgs = import nixpkgs { + outputs = { self, systems, nixpkgs, rust-overlays, ...}: let + inherit (nixpkgs) lib; + eachSystem = lib.genAttrs (import systems); + pkgsFor = eachSystem (system: import nixpkgs { inherit system; overlays = [ - (import rust-overlays) self.overlays.default + (import rust-overlays) ]; - }; - - rust = pkgs.rust-bin.stable.latest.default; + }); in { - devShells.default = - pkgs.mkShell { + devShells = eachSystem (system: let + pkgs = pkgsFor.${system}; + rust = pkgs.rust-bin.stable.latest.default; + in { + default = pkgs.mkShell { buildInputs = with pkgs; [ pkg-config git rust ]; }; + }); - packages = rec { - inherit (pkgs) duralumin duralumin-keygen; + packages = eachSystem (system: rec { + inherit (pkgsFor.${system}) duralumin duralumin-keygen; default = duralumin; - }; - }) // { - overlays.default = final: prev: let - toolchain = prev.rust-bin.stable.latest.default; + }); + + overlays.default = final: _prev: let + toolchain = pkgsFor.${final.system}.rust-bin.stable.latest.default; rustPlatform = final.makeRustPlatform { cargo = toolchain; rustc = toolchain; }; - in { - duralumin = prev.callPackage ./pkgs/package.nix { inherit rustPlatform; }; - duralumin-keygen = prev.callPackage ./pkgs/keygen.nix { - inherit (final) duralumin; + in rec { + duralumin = final.callPackage ./pkgs/package.nix { inherit rustPlatform; }; + duralumin-keygen = final.callPackage ./pkgs/keygen.nix { + inherit duralumin; }; }; };