37 lines
670 B
Nix
37 lines
670 B
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
cfg = config.modules.fileshare.zfs;
|
|
in {
|
|
options.modules.homelab.zfs = {
|
|
enable = lib.mkEnableOption "enables zfs";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
# set network host id
|
|
networking.hostId = "3e6e7055";
|
|
|
|
# enable zfs support
|
|
boot.kernelModules = ["zfs"];
|
|
boot.supportedFilesystems = ["zfs"];
|
|
|
|
# enable smart monitoring
|
|
services.smartd.enable = true;
|
|
|
|
# enable zfs
|
|
services.zfs = {
|
|
autoScrub.enable = true;
|
|
autoScrub.interval = "weekly";
|
|
};
|
|
|
|
fileSystems."/holocron" = {
|
|
device = "holocron";
|
|
fsType = "zfs";
|
|
options = ["nofail"];
|
|
};
|
|
};
|
|
}
|