restructured & first test of toggleable config

This commit is contained in:
2025-10-04 11:26:25 -05:00
parent 7bff22ec39
commit 142dd3b568
9 changed files with 49 additions and 99 deletions

View File

@@ -8,11 +8,17 @@ let
'';
in
{
# enable nfs with all exports
services.nfs = {
server = {
enable = true;
exports = nfsExports;
options = {
homelab.nfs.enable = lib.mkEnableOption "enables nfs";
};
config = lib.mkIf config.homelab.nfs.enable {
# enable nfs with all exports
services.nfs = {
server = {
enable = true;
exports = nfsExports;
};
};
};
}

View File

@@ -18,10 +18,15 @@ let
};
in
{
# enable smb with all shares
services.samba = {
enable = true;
settings = smbShares;
options = {
homelab.smb.enable = lib.mkEnableOption "enables smb";
};
config = lib.mkIf config.homelab.smb.enable {
# enable smb with all shares
services.samba = {
enable = true;
settings = smbShares;
};
};
}

View File

@@ -1,22 +1,28 @@
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
{
# set network host id
networking.hostId = "3e6e7055";
options = {
homelab.zfs.enable = lib.mkEnableOption "enables zfs";
};
# enable zfs support
boot.kernelModules = [ "zfs" ];
boot.supportedFilesystems = [ "zfs" ];
config = lib.mkIf config.homelab.zfs.enable {
# set network host id
networking.hostId = "3e6e7055";
# enable smart monitoring
services.smartd.enable = true;
# enable zfs support
boot.kernelModules = [ "zfs" ];
boot.supportedFilesystems = [ "zfs" ];
# enable zfs
services.zfs = {
autoScrub.enable = true;
autoScrub.interval = "weekly";
# enable smart monitoring
services.smartd.enable = true;
# enable zfs
services.zfs = {
autoScrub.enable = true;
autoScrub.interval = "weekly";
};
};
}