2 description = "Userspace tools for bcachefs";
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";
12 outputs = { self, nixpkgs, utils, ... }:
14 overlays.default = final: prev: {
15 bcachefs = final.callPackage ./build.nix { };
17 } // utils.lib.eachDefaultSystem (system:
19 pkgs = import nixpkgs {
21 overlays = [ self.overlays.default ];
25 inherit (pkgs) bcachefs;
26 bcachefs-fuse = pkgs.bcachefs.override { fuseSupport = true; };
27 default = pkgs.bcachefs;
30 formatter = pkgs.nixfmt;
32 devShells.default = pkgs.callPackage ({ mkShell, rustc, cargo, gnumake
33 , gcc, clang, pkg-config, libuuid, libsodium, keyutils, liburcu, zlib
34 , libaio, zstd, lz4, udev, bcachefs }:
36 LIBCLANG_PATH = "${clang.cc.lib}/lib";
37 inherit (bcachefs) nativeBuildInputs buildInputs;