quicfs/flake.nix

51 lines
1.4 KiB
Nix
Raw Normal View History

2023-09-21 12:17:01 +01:00
{
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
];
};
};
};
}