| { |
| description = "Userspace tools for bcachefs"; |
| |
| # Nixpkgs / NixOS version to use. |
| inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; |
| inputs.utils.url = "github:numtide/flake-utils"; |
| inputs.flake-compat = { |
| url = "github:edolstra/flake-compat"; |
| flake = false; |
| }; |
| |
| outputs = { self, nixpkgs, utils, ... }: |
| { |
| overlays.default = final: prev: { |
| bcachefs = final.callPackage ./build.nix { }; |
| }; |
| } // utils.lib.eachDefaultSystem (system: |
| let |
| pkgs = import nixpkgs { |
| inherit system; |
| overlays = [ self.overlays.default ]; |
| }; |
| in { |
| packages = { |
| inherit (pkgs) bcachefs; |
| bcachefs-fuse = pkgs.bcachefs.override { fuseSupport = true; }; |
| default = pkgs.bcachefs; |
| }; |
| |
| formatter = pkgs.nixfmt; |
| |
| devShells.default = pkgs.callPackage ({ mkShell, rustc, cargo, gnumake |
| , gcc, clang, pkg-config, libuuid, libsodium, keyutils, liburcu, zlib |
| , libaio, zstd, lz4, udev, bcachefs }: |
| mkShell { |
| LIBCLANG_PATH = "${clang.cc.lib}/lib"; |
| inherit (bcachefs) nativeBuildInputs buildInputs; |
| }) { }; |
| }); |
| } |