51 lines
1.4 KiB
Nix
51 lines
1.4 KiB
Nix
|
{
|
||
|
inputs = {
|
||
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
||
|
cargo2nix.url = "github:cargo2nix/cargo2nix";
|
||
|
devshell.url = "github:numtide/devshell";
|
||
|
devshell.inputs.nixpkgs.follows = "nixpkgs";
|
||
|
};
|
||
|
|
||
|
outputs = inputs@{ nixpkgs, flake-parts, rust-overlay, cargo2nix, devshell, ... }:
|
||
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||
|
imports = [
|
||
|
inputs.flake-parts.flakeModules.easyOverlay
|
||
|
devshell.flakeModule
|
||
|
];
|
||
|
systems = [ "x86_64-linux" ];
|
||
|
perSystem = { inputs', system, pkgs, config, ... }:
|
||
|
let
|
||
|
rustPkgs = pkgs.rustBuilder.makePackageSet {
|
||
|
rustToolchain = pkgs.rust-bin.stable."1.72.1".default;
|
||
|
packageFun = import ./Cargo.nix;
|
||
|
};
|
||
|
in
|
||
|
{
|
||
|
_module.args.pkgs = import nixpkgs {
|
||
|
inherit system;
|
||
|
overlays = [
|
||
|
cargo2nix.overlays.default
|
||
|
rust-overlay.overlays.default
|
||
|
];
|
||
|
};
|
||
|
|
||
|
overlayAttrs = {
|
||
|
inherit (config.packages) quicfs;
|
||
|
};
|
||
|
packages = rec {
|
||
|
quicfs = (rustPkgs.workspace.quicfs { }).bin;
|
||
|
default = quicfs;
|
||
|
};
|
||
|
devshells.default = {
|
||
|
packagesFrom = [
|
||
|
(rustPkgs.workspaceShell { })
|
||
|
];
|
||
|
packages = [
|
||
|
inputs'.cargo2nix.packages.default
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|