{ config, lib, pkgs, ... }: with lib; let inInitrd = any (fs: fs == "bcachefs") config.boot.initrd.supportedFilesystems; in { config = mkIf (any (fs: fs == "bcachefs") config.boot.supportedFilesystems) { system.fsPackages = [ pkgs.bcachefs-tools ]; # use kernel package with bcachefs support until it's in mainline boot.kernelPackages = pkgs.linuxPackages_testing_bcachefs; boot.initrd.availableKernelModules = mkIf inInitrd [ "bcachefs" ]; boot.initrd.extraUtilsCommands = mkIf inInitrd '' copy_bin_and_libs ${pkgs.bcachefs-tools}/bin/fsck.bcachefs ''; }; }