|
|
@ -3,19 +3,33 @@ |
|
|
|
naersk.url = "github:nix-community/naersk/master"; |
|
|
|
naersk.url = "github:nix-community/naersk/master"; |
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; |
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; |
|
|
|
utils.url = "github:numtide/flake-utils"; |
|
|
|
utils.url = "github:numtide/flake-utils"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rust-overlay.url = "github:oxalica/rust-overlay"; |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
outputs = { self, nixpkgs, utils, naersk }: |
|
|
|
outputs = { self, nixpkgs, utils, naersk, rust-overlay }: |
|
|
|
utils.lib.eachDefaultSystem (system: |
|
|
|
utils.lib.eachDefaultSystem (system: |
|
|
|
let |
|
|
|
let |
|
|
|
pkgs = import nixpkgs { inherit system; }; |
|
|
|
|
|
|
|
naersk-lib = pkgs.callPackage naersk { }; |
|
|
|
pkgs = import nixpkgs { |
|
|
|
|
|
|
|
inherit system; |
|
|
|
|
|
|
|
overlays = [ (import rust-overlay) ]; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
toolchain = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
naersk-lib = pkgs.callPackage naersk { |
|
|
|
|
|
|
|
cargo = toolchain; |
|
|
|
|
|
|
|
rustc = toolchain; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
in |
|
|
|
in |
|
|
|
{ |
|
|
|
{ |
|
|
|
defaultPackage = naersk-lib.buildPackage ./.; |
|
|
|
defaultPackage = naersk-lib.buildPackage ./.; |
|
|
|
devShell = with pkgs; mkShell { |
|
|
|
devShell = with pkgs; mkShell { |
|
|
|
buildInputs = [ cargo rustc rustfmt pre-commit rustPackages.clippy ]; |
|
|
|
nativeBuildInputs = [ |
|
|
|
RUST_SRC_PATH = rustPlatform.rustLibSrc; |
|
|
|
toolchain |
|
|
|
|
|
|
|
]; |
|
|
|
shellHook = '' |
|
|
|
shellHook = '' |
|
|
|
export CARGO_HOME=$(pwd)/.cargo |
|
|
|
export CARGO_HOME=$(pwd)/.cargo |
|
|
|
''; |
|
|
|
''; |
|
|
|