tvl-depot/users/sterni/modules/disk-checkup.nix
sterni b4c0c40f63 feat(sterni/machines/edwin): enable btrfs autoscrub
Small module that regularly runs btrfs scrub on all btrfs filesystems.
Eventually the module should also do SMART value monitoring, as edwin is
a server from Hetzner's server auction, so a disk failure may not be too
far away.

Change-Id: I11e423a5d91c99ad455c2bb29b632efb79ef908e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7294
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-11-26 15:51:31 +00:00

25 lines
573 B
Nix

# TODO(sterni): configure smartd and alerts
{ config, lib, ... }:
{
config = {
services = {
btrfs.autoScrub = {
enable = true;
interval = "daily";
# gather all btrfs fileSystems and overwrite default
fileSystems = lib.mkForce (
lib.concatLists (
lib.mapAttrsToList
(
_:
{ fsType, mountPoint, ... }:
if fsType == "btrfs" then [ mountPoint ] else [ ]
)
config.fileSystems
)
);
};
};
};
}