diff --git a/flake.lock b/flake.lock index 2e7b2f7..76ca9a5 100644 --- a/flake.lock +++ b/flake.lock @@ -1,26 +1,5 @@ { "nodes": { - "fenix": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1713421495, - "narHash": "sha256-5vVF9W1tJT+WdfpWAEG76KywktKDAW/71mVmNHEHjac=", - "owner": "nix-community", - "repo": "fenix", - "rev": "fd47b1f9404fae02a4f38bd9f4b12bad7833c96b", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1713297878, @@ -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": 1713373173, - "narHash": "sha256-octd9BFY9G/Gbr4KfwK4itZp4Lx+qvJeRRcYnN+dEH8=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "46702ffc1a02a2ac153f1d1ce619ec917af8f3a6", + "lastModified": 1720577957, + "narHash": "sha256-RZuzLdB/8FaXaSzEoWLg3au/mtbuH7MGn2LmXUKT62g=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "a434177dfcc53bf8f1f348a3c39bfb336d760286", "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 afbd1b5..8484842 100644 --- a/flake.nix +++ b/flake.nix @@ -1,37 +1,43 @@ { 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 }@inputs: let systems = [ "x86_64-linux" "aarch64-linux" + "x86_64-darwin" "aarch64-darwin" + "armv7l-linux" ]; forAllSystems = f: nixpkgs.lib.genAttrs systems (system: let - toolchain = fenix.packages.${system}.complete; 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; in f system pkgs toolchain); in { devShell = forAllSystems (system: pkgs: toolchain: pkgs.mkShell { - packages = [ - (toolchain.withComponents [ - "cargo" "rustc" "rustfmt" "clippy" - ]) - pkgs.openssl + nativeBuildInputs = [ + toolchain pkgs.pkg-config ]; - RUST_SRC_PATH = "${toolchain.rust-src}/lib/rustlib/src/rust/library"; + + buildInputs = [ + pkgs.openssl + ]; + + RUST_SRC_PATH = "${toolchain}/lib/rustlib/src/rust/library"; }); }; }