]> git.sesse.net Git - bcachefs-tools-debian/blob - flake.nix
New upstream release
[bcachefs-tools-debian] / flake.nix
1 {
2   description = "Userspace tools for bcachefs";
3
4   # Nixpkgs / NixOS version to use.
5   inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
6   inputs.utils.url = "github:numtide/flake-utils";
7   inputs.flake-compat = {
8     url = "github:edolstra/flake-compat";
9     flake = false;
10   };
11
12   outputs = { self, nixpkgs, utils, ... }:
13     {
14       overlays.default = final: prev: {
15         bcachefs = final.callPackage ./build.nix { };
16       };
17     } // utils.lib.eachDefaultSystem (system:
18       let
19         pkgs = import nixpkgs {
20           inherit system;
21           overlays = [ self.overlays.default ];
22         };
23       in {
24         packages = {
25           inherit (pkgs) bcachefs;
26           default = pkgs.bcachefs;
27         };
28
29         formatter = pkgs.nixfmt;
30
31         devShells.default = pkgs.callPackage ({ mkShell, rustc, cargo, gnumake
32           , gcc, clang, pkg-config, libuuid, libsodium, keyutils, liburcu, zlib
33           , libaio, zstd, lz4, udev, bcachefs }:
34           mkShell {
35             LIBCLANG_PATH = "${clang.cc.lib}/lib";
36             inherit (bcachefs) nativeBuildInputs buildInputs;
37           }) { };
38       });
39 }