rename file share to holocron

This commit is contained in:
2025-10-14 10:25:03 -05:00
parent 182cab6bf3
commit a3e8019878
8 changed files with 36 additions and 45 deletions

View File

@@ -0,0 +1,13 @@
{
pkgs,
config,
lib,
...
}: {
# services show up in glance in reverse import order lmao
imports = [
./nfs
./smb
./zfs
];
}

View File

@@ -0,0 +1,28 @@
{
pkgs,
config,
lib,
...
}:
# define nfs exports
let
cfg = config.holocron.nfs;
nfs_exports = ''
/holocron/media *(ro,sync,no_subtree_check)
'';
#/holocron/vault *(rw,sync,no_subtree_check,no_root_squash)
in {
options.holocron.nfs = {
enable = lib.mkEnableOption "enables nfs";
};
config = lib.mkIf cfg.enable {
# enable nfs with all exports
services.nfs = {
server = {
enable = true;
exports = nfs_exports;
};
};
};
}

View File

@@ -0,0 +1,36 @@
{
pkgs,
config,
lib,
...
}:
# define smb shares
let
cfg = config.holocron.smb;
smb_shares = {
vault = {
path = "/holocron/vault";
browseable = true;
writable = true;
guestOk = false;
};
media = {
path = "/holocron/media";
browseable = true;
writable = true;
guestOk = false;
};
};
in {
options.holocron.smb = {
enable = lib.mkEnableOption "enables smb";
};
config = lib.mkIf cfg.enable {
# enable smb with all shares
services.samba = {
enable = true;
settings = smb_shares;
};
};
}

View File

@@ -0,0 +1,36 @@
{
pkgs,
config,
lib,
...
}: let
cfg = config.holocron.zfs;
in {
options.holocron.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"];
};
};
}