This should ensure I use my own rust version instead of the one in nixpkgs.
74 lines
1.7 KiB
Nix
74 lines
1.7 KiB
Nix
{ inputs, ... }:
|
|
let
|
|
inherit (inputs) crane;
|
|
in
|
|
{
|
|
flake.overlays.default = final: prev: {
|
|
webnsupdate = prev.callPackage ../default.nix {
|
|
inherit crane;
|
|
pkgSrc = inputs.self;
|
|
};
|
|
};
|
|
|
|
perSystem =
|
|
{
|
|
system,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
craneLib = (crane.mkLib pkgs).overrideToolchain (pkgs: pkgs.rust-bin.stable.latest.default);
|
|
src = craneLib.cleanCargoSource inputs.self;
|
|
|
|
commonArgs = {
|
|
inherit src;
|
|
strictDeps = true;
|
|
|
|
doCheck = false; # tests will be run in the `checks` derivation
|
|
NEXTEST_HIDE_PROGRESS_BAR = 1;
|
|
NEXTEST_FAILURE_OUTPUT = "immediate-final";
|
|
|
|
nativeBuildInputs = [ pkgs.mold ];
|
|
|
|
meta = {
|
|
license = lib.licenses.mit;
|
|
homepage = "https://github.com/jalil-salame/webnsupdate";
|
|
mainProgram = "webnsupdate";
|
|
};
|
|
};
|
|
|
|
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
|
|
withArtifacts = lib.mergeAttrsList [
|
|
commonArgs
|
|
{ inherit cargoArtifacts; }
|
|
];
|
|
webnsupdate = pkgs.callPackage ../default.nix {
|
|
inherit crane;
|
|
pkgSrc = src;
|
|
};
|
|
in
|
|
{
|
|
# Consume the rust-rust-overlay
|
|
_module.args.pkgs = import inputs.nixpkgs {
|
|
inherit system;
|
|
overlays = [ inputs.rust-overlay.overlays.default ];
|
|
};
|
|
|
|
checks = {
|
|
nextest = craneLib.cargoNextest withArtifacts;
|
|
clippy = craneLib.cargoClippy (
|
|
lib.mergeAttrsList [
|
|
withArtifacts
|
|
{ cargoClippyExtraArgs = "--all-targets -- --deny warnings"; }
|
|
]
|
|
);
|
|
};
|
|
|
|
packages = {
|
|
inherit webnsupdate;
|
|
inherit (pkgs) git-cliff;
|
|
default = webnsupdate;
|
|
};
|
|
};
|
|
}
|