mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-17 03:31:59 -05:00
Init:start-nix
This commit is contained in:
42
modules/system/zfs.nix
Normal file
42
modules/system/zfs.nix
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
hostname,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit
|
||||
(import ../../hosts/${hostname}/env.nix)
|
||||
KernelPackages
|
||||
ZFS-Networking-HostID
|
||||
ZFS-Use-Case
|
||||
;
|
||||
in
|
||||
with lib; {
|
||||
config = mkIf ZFS-Use-Case {
|
||||
boot = {
|
||||
kernelParams = ["zfs_force=1"];
|
||||
supportedFilesystems = ["zfs"];
|
||||
zfs = {
|
||||
devNodes = "/dev/disk/by-id";
|
||||
forceImportRoot = false;
|
||||
package = mkIf (strings.hasInfix "linuxPackages_cachyos" KernelPackages) pkgs.zfs_cachyos;
|
||||
};
|
||||
};
|
||||
networking.hostId = ZFS-Networking-HostID;
|
||||
services.zfs = {
|
||||
autoScrub = {
|
||||
enable = true;
|
||||
interval = "weekly";
|
||||
};
|
||||
trim = {
|
||||
enable = true; # HDD no need
|
||||
interval = "weekly";
|
||||
};
|
||||
autoSnapshot.enable = true;
|
||||
};
|
||||
systemd.services = {
|
||||
zfs-share.enable = mkForce false;
|
||||
zfs-zed.enable = mkForce false;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user