nix use rustc 1.79. Add analyzer to devshell

This commit is contained in:
waalge 2024-06-19 15:18:18 +00:00
parent de870e2529
commit 372b186103
2 changed files with 94 additions and 121 deletions

52
flake.lock generated vendored
View File

@ -18,31 +18,13 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1709237383, "lastModified": 1718530797,
"narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", "narHash": "sha256-pup6cYwtgvzDpvpSCFh1TEUjw2zkNpk8iolbKnyFmmU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", "rev": "b60ebf54c15553b393d144357375ea956f89e9a9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -54,11 +36,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1706487304, "lastModified": 1718428119,
"narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", "rev": "e6cea36f83499eb4e9cd184c8a8e823296b50ad5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -77,15 +59,14 @@
}, },
"rust-overlay": { "rust-overlay": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1709519692, "lastModified": 1718763539,
"narHash": "sha256-+ICGcASuUGpx82io6FVkMW7Pv4dvEl1v9A0ZtBKT41A=", "narHash": "sha256-JHqQyO5XppLpMSKBaYlxbmPHMc4DpwuavKIch9W+hv4=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "30c3af18405567115958c577c62548bdc5a251e7", "rev": "69fcfaebbe564d162a85cadeaadd4dec646be4a2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -108,21 +89,6 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@ -5,17 +5,22 @@
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
}; };
outputs = { self, rust-overlay, nixpkgs, flake-utils }: outputs = {
flake-utils.lib.eachDefaultSystem (system: self,
let rust-overlay,
nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
overlays = [ rust-overlay.overlays.default ]; overlays = [rust-overlay.overlays.default];
}; };
osxDependencies = with pkgs; osxDependencies = with pkgs;
lib.optionals stdenv.isDarwin lib.optionals stdenv.isDarwin
[ darwin.apple_sdk.frameworks.Security [
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.CoreServices darwin.apple_sdk.frameworks.CoreServices
]; ];
@ -27,10 +32,10 @@
name = "aiken"; name = "aiken";
buildInputs = with pkgs; [ openssl ] ++ osxDependencies; buildInputs = with pkgs; [openssl] ++ osxDependencies;
nativeBuildInputs = with pkgs; [ pkg-config openssl.dev ]; nativeBuildInputs = with pkgs; [pkg-config openssl.dev];
src = pkgs.lib.cleanSourceWith { src = self; }; src = pkgs.lib.cleanSourceWith {src = self;};
cargoLock.lockFile = ./Cargo.lock; cargoLock.lockFile = ./Cargo.lock;
@ -65,9 +70,12 @@
default = packages.aiken; default = packages.aiken;
}; };
overlays.default = final: prev: { aiken = packages.aiken; }; overlays.default = final: prev: {aiken = packages.aiken;};
gitRev = if (builtins.hasAttr "rev" self) then self.rev else "dirty"; gitRev =
if (builtins.hasAttr "rev" self)
then self.rev
else "dirty";
in { in {
inherit packages overlays; inherit packages overlays;
@ -76,13 +84,12 @@
[ [
pkg-config pkg-config
openssl openssl
cargo-insta cargo-insta
(pkgs.rust-bin.stable.latest.default.override { (pkgs.rust-bin.stable.latest.default.override {
extensions = [ "rust-src" "clippy" "rustfmt" ]; extensions = ["rust-src" "clippy" "rustfmt" "rust-analyzer"];
}) })
] ++ osxDependencies; ]
++ osxDependencies;
shellHook = '' shellHook = ''
export GIT_REVISION=${gitRev} export GIT_REVISION=${gitRev}