{
inputs = {
nixpkgs.url = "nixpkgs";
nixCargoIntegration = {
url = "github:yusdacra/nix-cargo-integration";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { ... } @ inputs:
let
crate = {
root = ./.;
buildPlatform = "crate2nix";
defaultOutputs.package = "constraint";
};
crate.overrides.common = prev: with prev.lib; {
# Manually set license, since there is no "mit or apache-2.0" license in nixpkgsnix
meta = prev.meta // { license = with licenses; [ mit apsl20 ]; };
};
crate.overrides.pkgs = common: prev: { config.allowUnfree = true; };
crate.overrides.shell = common: prev: common.lib.mkMerge [ prev {
# Add a low-prio rustup. Avoids conflict with other packages like
# clippy in the devshell env
# Some IDEs seems to have a hard time working with rust-overlay's
# toolchains
# TODO: Investigate above comment
devshell.packages = [ (common.lib.lowPrio common.pkgs.rustup) ];
} ];
in
inputs.nixCargoIntegration.lib.makeOutputs crate;
}