From 38313a929bce0f70517cb01e7d59fe510bd26570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98ystein=20Tveit?= Date: Wed, 25 Dec 2024 15:39:16 +0100 Subject: [PATCH] flake.nix: replace fenix with rust-overlay --- flake.lock | 54 ++++++++++++++++++------------------------------------ flake.nix | 35 ++++++++++++++++++++++------------- 2 files changed, 40 insertions(+), 49 deletions(-) diff --git a/flake.lock b/flake.lock index b4aef05..6666a46 100644 --- a/flake.lock +++ b/flake.lock @@ -1,33 +1,12 @@ { "nodes": { - "fenix": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1715581585, - "narHash": "sha256-/JjvIn1NXW3yOaDcD8Me987/QcXjo+rhg+uThasPAnI=", - "owner": "nix-community", - "repo": "fenix", - "rev": "2c4905096782e8e908205e7fa54ef987fba62793", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1715534503, - "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", + "lastModified": 1734649271, + "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", + "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", "type": "github" }, "original": { @@ -39,24 +18,27 @@ }, "root": { "inputs": { - "fenix": "fenix", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" } }, - "rust-analyzer-src": { - "flake": false, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, "locked": { - "lastModified": 1715255944, - "narHash": "sha256-vLLgYpdtKBaGYTamNLg1rbRo1bPXp4Jgded/gnprPVw=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "5bf2f85c8054d80424899fa581db1b192230efb5", + "lastModified": 1735093658, + "narHash": "sha256-eIUYGDtairggo7+JXSwN7b6Zr03BJ7tsZL/U0NkDr0s=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "ca249a1d98eff27e92665ac462b9d47f58141925", "type": "github" }, "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", + "owner": "oxalica", + "repo": "rust-overlay", "type": "github" } } diff --git a/flake.nix b/flake.nix index 5d70659..7e4958d 100644 --- a/flake.nix +++ b/flake.nix @@ -1,35 +1,44 @@ { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - fenix.url = "github:nix-community/fenix"; - fenix.inputs.nixpkgs.follows = "nixpkgs"; + + rust-overlay.url = "github:oxalica/rust-overlay"; + rust-overlay.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, nixpkgs, fenix }@inputs: + outputs = { self, nixpkgs, rust-overlay }: let + inherit (nixpkgs) lib; + systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; - forAllSystems = f: nixpkgs.lib.genAttrs systems (system: let - toolchain = fenix.packages.${system}.complete; + + forAllSystems = f: lib.genAttrs systems (system: let pkgs = import nixpkgs { inherit system; overlays = [ - (_: super: let pkgs = fenix.inputs.nixpkgs.legacyPackages.${system}; in fenix.overlays.default pkgs pkgs) + (import rust-overlay) ]; }; + + rust-bin = rust-overlay.lib.mkRustBin { } pkgs.buildPackages; + toolchain = rust-bin.stable.latest.default.override { + extensions = [ "rust-src" "rust-analyzer" "rust-std" ]; + }; in f system pkgs toolchain); in { - devShell = forAllSystems (system: pkgs: toolchain: pkgs.mkShell { - packages = [ - (toolchain.withComponents [ - "cargo" "rustc" "rustfmt" "clippy" - ]) - ]; - RUST_SRC_PATH = "${toolchain.rust-src}/lib/rustlib/src/rust/library"; + devShells = forAllSystems (system: pkgs: toolchain: { + default = pkgs.mkShell { + nativeBuildInputs = [ + toolchain + ]; + + RUST_SRC_PATH = "${toolchain}/lib/rustlib/src/rust/library"; + }; }); }; }