nix-dotfiles/modules/fs/scrub.nix

16 lines
627 B
Nix

{ config, lib, ... }:
with lib;
let
supportedFilesystems = builtins.map (builtins.getAttr "fsType") (builtins.attrValues config.fileSystems);
mkScrubConfig = fsType: {
enable = builtins.elem fsType supportedFilesystems;
interval = "weekly";
};
in {
services.btrfs.autoScrub = mkScrubConfig "btrfs";
services.zfs.autoScrub = mkScrubConfig "zfs";
# bcachefs exists but it was "ejected from the kernel" for "repeated violations of kernel dev. guidelines"
# linus "tech tips" torvalds said himself "nobody sane uses bcachefs and expects it to be stable" (https://en.wikipedia.org/wiki/Bcachefs#Stability)
}