From c02dafd0d15bd687e7a4d5f11eade742452a8145 Mon Sep 17 00:00:00 2001 From: blake Date: Mon, 13 Oct 2025 21:29:04 -0500 Subject: [PATCH] big restructure, getting there prayers for rebuild --- hosts/snowbelle/configuration.nix | 26 +++++++++---------- .../{services => }/arr/bazarr/default.nix | 0 .../arr/flaresolverr/default.nix | 0 .../{services => }/arr/prowlarr/default.nix | 0 .../{services => }/arr/radarr/default.nix | 0 .../{services => }/arr/sonarr/default.nix | 0 .../{services => }/audiobookshelf/default.nix | 0 .../homelab/{services => }/caddy/default.nix | 0 modules/homelab/default.nix | 24 ++++++++++++++--- modules/homelab/fileshare/default.nix | 13 ++++++++++ .../nfs.nix => fileshare/nfs/default.nix} | 15 ++++++----- .../smb.nix => fileshare/samba/default.nix} | 13 ++++++---- .../zfs.nix => fileshare/zfs/default.nix} | 19 +++++++------- .../homelab/{services => }/gitea/default.nix | 0 .../homelab/{services => }/glance/default.nix | 9 +++++++ .../home/homeassistant/default.nix | 0 .../{services => }/home/mosquitto/default.nix | 0 .../home/zigbee2mqtt/default.nix | 0 .../homelab/{services => }/immich/default.nix | 0 .../{services => }/jellyfin/default.nix | 0 .../minecraft_recpro/default.nix | 0 .../{services => }/qbittorrent/default.nix | 0 modules/homelab/services/default.nix | 26 ------------------- .../{services => }/uptime-kuma/default.nix | 0 .../{services => }/vaultwarden/default.nix | 0 .../{services => }/yacreader/default.nix | 0 26 files changed, 82 insertions(+), 63 deletions(-) rename modules/homelab/{services => }/arr/bazarr/default.nix (100%) rename modules/homelab/{services => }/arr/flaresolverr/default.nix (100%) rename modules/homelab/{services => }/arr/prowlarr/default.nix (100%) rename modules/homelab/{services => }/arr/radarr/default.nix (100%) rename modules/homelab/{services => }/arr/sonarr/default.nix (100%) rename modules/homelab/{services => }/audiobookshelf/default.nix (100%) rename modules/homelab/{services => }/caddy/default.nix (100%) create mode 100644 modules/homelab/fileshare/default.nix rename modules/homelab/{shares/nfs.nix => fileshare/nfs/default.nix} (72%) rename modules/homelab/{shares/smb.nix => fileshare/samba/default.nix} (87%) rename modules/homelab/{shares/zfs.nix => fileshare/zfs/default.nix} (72%) rename modules/homelab/{services => }/gitea/default.nix (100%) rename modules/homelab/{services => }/glance/default.nix (97%) rename modules/homelab/{services => }/home/homeassistant/default.nix (100%) rename modules/homelab/{services => }/home/mosquitto/default.nix (100%) rename modules/homelab/{services => }/home/zigbee2mqtt/default.nix (100%) rename modules/homelab/{services => }/immich/default.nix (100%) rename modules/homelab/{services => }/jellyfin/default.nix (100%) rename modules/homelab/{gameservers => }/minecraft_recpro/default.nix (100%) rename modules/homelab/{services => }/qbittorrent/default.nix (100%) rename modules/homelab/{services => }/uptime-kuma/default.nix (100%) rename modules/homelab/{services => }/vaultwarden/default.nix (100%) rename modules/homelab/{services => }/yacreader/default.nix (100%) diff --git a/hosts/snowbelle/configuration.nix b/hosts/snowbelle/configuration.nix index b8d0397..f7664a5 100644 --- a/hosts/snowbelle/configuration.nix +++ b/hosts/snowbelle/configuration.nix @@ -25,31 +25,31 @@ in tailscale.enable = true; nvidia.enable = true; }; - homelab = { - enable = true; + fileshare = { zfs.enable = true; smb.enable = true; nfs.enable = true; }; + homelab.enable = true; services = { - caddy.enable = true; + gitea.enable = true; + glance.enable = true; + immich.enable = true; + hass.enable = true; jellyfin.enable = true; audiobookshelf.enable = true; yacreader.enable = true; - vaultwarden.enable = true; - gitea.enable = true; - glance.enable = true; qbittorrent.enable = true; - immich.enable = true; - hass.enable = true; - zigbee2mqtt.enable = true; - mosquitto.enable = true; + sonarr.enable = true; + radarr.enable = true; + bazarr.enable = true; prowlarr.enable = true; flaresolverr.enable = true; - bazarr.enable = true; - radarr.enable = true; - sonarr.enable = true; + zigbee2mqtt.enable = true; + mosquitto.enable = true; + caddy.enable = true; uptime-kuma.enable = true; + vaultwarden.enable = true; }; gameservers = { minecraft_recpro.enable = true; diff --git a/modules/homelab/services/arr/bazarr/default.nix b/modules/homelab/arr/bazarr/default.nix similarity index 100% rename from modules/homelab/services/arr/bazarr/default.nix rename to modules/homelab/arr/bazarr/default.nix diff --git a/modules/homelab/services/arr/flaresolverr/default.nix b/modules/homelab/arr/flaresolverr/default.nix similarity index 100% rename from modules/homelab/services/arr/flaresolverr/default.nix rename to modules/homelab/arr/flaresolverr/default.nix diff --git a/modules/homelab/services/arr/prowlarr/default.nix b/modules/homelab/arr/prowlarr/default.nix similarity index 100% rename from modules/homelab/services/arr/prowlarr/default.nix rename to modules/homelab/arr/prowlarr/default.nix diff --git a/modules/homelab/services/arr/radarr/default.nix b/modules/homelab/arr/radarr/default.nix similarity index 100% rename from modules/homelab/services/arr/radarr/default.nix rename to modules/homelab/arr/radarr/default.nix diff --git a/modules/homelab/services/arr/sonarr/default.nix b/modules/homelab/arr/sonarr/default.nix similarity index 100% rename from modules/homelab/services/arr/sonarr/default.nix rename to modules/homelab/arr/sonarr/default.nix diff --git a/modules/homelab/services/audiobookshelf/default.nix b/modules/homelab/audiobookshelf/default.nix similarity index 100% rename from modules/homelab/services/audiobookshelf/default.nix rename to modules/homelab/audiobookshelf/default.nix diff --git a/modules/homelab/services/caddy/default.nix b/modules/homelab/caddy/default.nix similarity index 100% rename from modules/homelab/services/caddy/default.nix rename to modules/homelab/caddy/default.nix diff --git a/modules/homelab/default.nix b/modules/homelab/default.nix index 62662b8..ac8a9aa 100644 --- a/modules/homelab/default.nix +++ b/modules/homelab/default.nix @@ -39,11 +39,27 @@ in }; }; + # the order determines the order in glance :3 imports = [ - ./services - ./shares/nfs.nix - ./shares/smb.nix - ./shares/zfs.nix + ./fileshare + ./caddy + ./home/zigbee2mqtt + ./vaultwarden + ./gitea + ./home/homeassistant + ./immich + ./arr/bazarr + ./arr/prowlarr + ./arr/radarr + ./qbittorrent + ./arr/sonarr + ./yacreader + ./audiobookshelf + ./jellyfin + ./arr/flaresolverr + ./home/mosquitto + ./uptime-kuma + ./glance ]; config = lib.mkIf cfg.enable { diff --git a/modules/homelab/fileshare/default.nix b/modules/homelab/fileshare/default.nix new file mode 100644 index 0000000..c9c281d --- /dev/null +++ b/modules/homelab/fileshare/default.nix @@ -0,0 +1,13 @@ +{ + pkgs, + config, + lib, + ... +}: { + # services show up in glance in reverse import order lmao + imports = [ + ./shares/nfs.nix + ./shares/smb.nix + ./shares/zfs.nix + ]; +} diff --git a/modules/homelab/shares/nfs.nix b/modules/homelab/fileshare/nfs/default.nix similarity index 72% rename from modules/homelab/shares/nfs.nix rename to modules/homelab/fileshare/nfs/default.nix index 9d987e0..e9e5701 100644 --- a/modules/homelab/shares/nfs.nix +++ b/modules/homelab/fileshare/nfs/default.nix @@ -1,14 +1,17 @@ -{ pkgs, config, lib, ... }: - +{ + pkgs, + config, + lib, + ... +}: # define nfs exports let - cfg = config.modules.homelab.nfs; + cfg = config.modules.fileshare.nfs; nfs_exports = '' - /holocron/vault *(rw,sync,no_subtree_check,no_root_squash) /holocron/media *(ro,sync,no_subtree_check) ''; -in -{ + #/holocron/vault *(rw,sync,no_subtree_check,no_root_squash) +in { options.modules.homelab.nfs = { enable = lib.mkEnableOption "enables nfs"; }; diff --git a/modules/homelab/shares/smb.nix b/modules/homelab/fileshare/samba/default.nix similarity index 87% rename from modules/homelab/shares/smb.nix rename to modules/homelab/fileshare/samba/default.nix index 1eed22d..e40e40c 100644 --- a/modules/homelab/shares/smb.nix +++ b/modules/homelab/fileshare/samba/default.nix @@ -1,8 +1,12 @@ -{ pkgs, config, lib, ... }: - +{ + pkgs, + config, + lib, + ... +}: # define smb shares let - cfg = config.modules.homelab.smb; + cfg = config.modules.fileshare.smb; smb_shares = { vault = { path = "/holocron/vault"; @@ -17,8 +21,7 @@ let guestOk = false; }; }; -in -{ +in { options.modules.homelab.smb = { enable = lib.mkEnableOption "enables smb"; }; diff --git a/modules/homelab/shares/zfs.nix b/modules/homelab/fileshare/zfs/default.nix similarity index 72% rename from modules/homelab/shares/zfs.nix rename to modules/homelab/fileshare/zfs/default.nix index 2ed5643..b0dc6ca 100644 --- a/modules/homelab/shares/zfs.nix +++ b/modules/homelab/fileshare/zfs/default.nix @@ -1,9 +1,11 @@ -{ pkgs, config, lib, ... }: - -let - cfg = config.modules.homelab.zfs; -in { + pkgs, + config, + lib, + ... +}: let + cfg = config.modules.fileshare.zfs; +in { options.modules.homelab.zfs = { enable = lib.mkEnableOption "enables zfs"; }; @@ -13,8 +15,8 @@ in networking.hostId = "3e6e7055"; # enable zfs support - boot.kernelModules = [ "zfs" ]; - boot.supportedFilesystems = [ "zfs" ]; + boot.kernelModules = ["zfs"]; + boot.supportedFilesystems = ["zfs"]; # enable smart monitoring services.smartd.enable = true; @@ -28,8 +30,7 @@ in fileSystems."/holocron" = { device = "holocron"; fsType = "zfs"; - options = [ "nofail" ]; + options = ["nofail"]; }; }; - } diff --git a/modules/homelab/services/gitea/default.nix b/modules/homelab/gitea/default.nix similarity index 100% rename from modules/homelab/services/gitea/default.nix rename to modules/homelab/gitea/default.nix diff --git a/modules/homelab/services/glance/default.nix b/modules/homelab/glance/default.nix similarity index 97% rename from modules/homelab/services/glance/default.nix rename to modules/homelab/glance/default.nix index 817fde2..8c35028 100644 --- a/modules/homelab/services/glance/default.nix +++ b/modules/homelab/glance/default.nix @@ -293,5 +293,14 @@ in paths = [ cfg.data_dir ]; }; }; + + # add to udr to glance + modules.services.glance.links.system = [{ + title = "bebe"; + url = "https://bebe.lan"; + error-url = "https://10.10.0.1"; + check-url = "https://10.10.0.1"; + icon = "di:unifi"; + allow-insecure = true; }]; }; } diff --git a/modules/homelab/services/home/homeassistant/default.nix b/modules/homelab/home/homeassistant/default.nix similarity index 100% rename from modules/homelab/services/home/homeassistant/default.nix rename to modules/homelab/home/homeassistant/default.nix diff --git a/modules/homelab/services/home/mosquitto/default.nix b/modules/homelab/home/mosquitto/default.nix similarity index 100% rename from modules/homelab/services/home/mosquitto/default.nix rename to modules/homelab/home/mosquitto/default.nix diff --git a/modules/homelab/services/home/zigbee2mqtt/default.nix b/modules/homelab/home/zigbee2mqtt/default.nix similarity index 100% rename from modules/homelab/services/home/zigbee2mqtt/default.nix rename to modules/homelab/home/zigbee2mqtt/default.nix diff --git a/modules/homelab/services/immich/default.nix b/modules/homelab/immich/default.nix similarity index 100% rename from modules/homelab/services/immich/default.nix rename to modules/homelab/immich/default.nix diff --git a/modules/homelab/services/jellyfin/default.nix b/modules/homelab/jellyfin/default.nix similarity index 100% rename from modules/homelab/services/jellyfin/default.nix rename to modules/homelab/jellyfin/default.nix diff --git a/modules/homelab/gameservers/minecraft_recpro/default.nix b/modules/homelab/minecraft_recpro/default.nix similarity index 100% rename from modules/homelab/gameservers/minecraft_recpro/default.nix rename to modules/homelab/minecraft_recpro/default.nix diff --git a/modules/homelab/services/qbittorrent/default.nix b/modules/homelab/qbittorrent/default.nix similarity index 100% rename from modules/homelab/services/qbittorrent/default.nix rename to modules/homelab/qbittorrent/default.nix diff --git a/modules/homelab/services/default.nix b/modules/homelab/services/default.nix index d4c6caa..7b6cd9d 100644 --- a/modules/homelab/services/default.nix +++ b/modules/homelab/services/default.nix @@ -5,34 +5,8 @@ # services show up in glance in reverse import order lmao imports = [ - ./home/zigbee2mqtt - ./vaultwarden - ./gitea - ./home/homeassistant - ./immich - ./arr/bazarr - ./arr/prowlarr - ./arr/radarr - ./qbittorrent - ./arr/sonarr - ./yacreader - ./audiobookshelf - ./jellyfin - ./caddy - ./arr/flaresolverr - ./home/mosquitto - ./uptime-kuma - ./glance ]; - # add to udr to glance - modules.services.glance.links.system = [{ - title = "bebe"; - url = "https://bebe.lan"; - error-url = "https://10.10.0.1"; - check-url = "https://10.10.0.1"; - icon = "di:unifi"; - allow-insecure = true; }]; diff --git a/modules/homelab/services/uptime-kuma/default.nix b/modules/homelab/uptime-kuma/default.nix similarity index 100% rename from modules/homelab/services/uptime-kuma/default.nix rename to modules/homelab/uptime-kuma/default.nix diff --git a/modules/homelab/services/vaultwarden/default.nix b/modules/homelab/vaultwarden/default.nix similarity index 100% rename from modules/homelab/services/vaultwarden/default.nix rename to modules/homelab/vaultwarden/default.nix diff --git a/modules/homelab/services/yacreader/default.nix b/modules/homelab/yacreader/default.nix similarity index 100% rename from modules/homelab/services/yacreader/default.nix rename to modules/homelab/yacreader/default.nix