diff --git a/modules/nixos/homelab/guests/firefly-iii/fireflyEris/default.nix b/modules/nixos/homelab/guests/firefly-iii/fireflyEris/default.nix index bbd011f..c59cea4 100755 --- a/modules/nixos/homelab/guests/firefly-iii/fireflyEris/default.nix +++ b/modules/nixos/homelab/guests/firefly-iii/fireflyEris/default.nix @@ -11,15 +11,15 @@ let inherit (flake.config.people) user0; inherit (flake.config.people.users.${user0}) email; inherit (flake.config.services.instances) firefly-iii; - interface0Cfg = firefly-iii.interfaces.interface0; + interfaceCfg = firefly-iii.interfaces.interface0; fireflyNick = fireflyVM { user = user0; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; - host = interface0Cfg.domain; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; + host = interfaceCfg.domain; owner = email.address2; mnt = guestPath user0; }; diff --git a/modules/nixos/homelab/guests/forgejo/forgejoCeres/default.nix b/modules/nixos/homelab/guests/forgejo/forgejoCeres/default.nix index aa45a16..2f2ef45 100755 --- a/modules/nixos/homelab/guests/forgejo/forgejoCeres/default.nix +++ b/modules/nixos/homelab/guests/forgejo/forgejoCeres/default.nix @@ -10,16 +10,16 @@ let inherit (flake.config.people) user0; inherit (flake.config.services) instances; - interface0Cfg = instances.forgejo.interfaces.interface0; + interfaceCfg = instances.forgejo.interfaces.interface0; forgejoNick = forgejoVM { user = user0; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; mnt = mntPath; - host = interface0Cfg.domain; + host = interfaceCfg.domain; }; in forgejoNick diff --git a/modules/nixos/homelab/guests/jellyfin/jellyfinCeres/default.nix b/modules/nixos/homelab/guests/jellyfin/jellyfinCeres/default.nix index b5bfc2d..6a2c3bd 100755 --- a/modules/nixos/homelab/guests/jellyfin/jellyfinCeres/default.nix +++ b/modules/nixos/homelab/guests/jellyfin/jellyfinCeres/default.nix @@ -10,16 +10,16 @@ let inherit (flake.config.people) user0; inherit (flake.config.services) instances; - interface0Cfg = instances.jellyfin.interfaces.interface0; + interfaceCfg = instances.jellyfin.interfaces.interface0; jellyfinCeres = jellyfinVM { user = user0; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; mnt = mntPath; - host = interface0Cfg.domain; + host = interfaceCfg.domain; }; in diff --git a/modules/nixos/homelab/guests/mastodon/mastodonCeres/default.nix b/modules/nixos/homelab/guests/mastodon/mastodonCeres/default.nix index a73f996..e320894 100755 --- a/modules/nixos/homelab/guests/mastodon/mastodonCeres/default.nix +++ b/modules/nixos/homelab/guests/mastodon/mastodonCeres/default.nix @@ -22,16 +22,16 @@ let inherit (flake.config.people) user0; inherit (flake.config.services) instances; - interface0Cfg = instances.mastodon.interfaces.interface0; + interfaceCfg = instances.mastodon.interfaces.interface0; mastodonNick = mastodonVM { user = user0; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; mnt = mntPath; - host = interface0Cfg.domain; + host = interfaceCfg.domain; }; in mastodonNick diff --git a/modules/nixos/homelab/guests/opencloud/opencloudCeres/default.nix b/modules/nixos/homelab/guests/opencloud/opencloudCeres/default.nix index 08dc264..4dbf2c1 100755 --- a/modules/nixos/homelab/guests/opencloud/opencloudCeres/default.nix +++ b/modules/nixos/homelab/guests/opencloud/opencloudCeres/default.nix @@ -10,17 +10,17 @@ let inherit (flake.config.people) user0; inherit (flake.config.services.instances) opencloud; - interface0Cfg = opencloud.interfaces.interface1; + interfaceCfg = opencloud.interfaces.interface1; opencloudProject = opencloudVM { user = user0; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; mnt = mntPath; inter = "enp0s6"; - host = "${interface0Cfg.subdomain}.${flake.inputs.linkpage.secrets.domains.projectsite}"; + host = "${interfaceCfg.subdomain}.${flake.inputs.linkpage.secrets.domains.projectsite}"; }; in opencloudProject diff --git a/modules/nixos/homelab/guests/opencloud/opencloudEris/default.nix b/modules/nixos/homelab/guests/opencloud/opencloudEris/default.nix index af8ce10..b71864c 100755 --- a/modules/nixos/homelab/guests/opencloud/opencloudEris/default.nix +++ b/modules/nixos/homelab/guests/opencloud/opencloudEris/default.nix @@ -10,17 +10,17 @@ let inherit (flake.config.people) user0; inherit (flake.config.services.instances) opencloud; - interface0Cfg = opencloud.interfaces.interface0; + interfaceCfg = opencloud.interfaces.interface0; opencloudNick = opencloudVM { user = user0; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; mnt = guestPath user0; inter = "enp0s6"; - host = interface0Cfg.domain; + host = interfaceCfg.domain; }; in opencloudNick diff --git a/modules/nixos/homelab/guests/photoprism/photoprismEris/default.nix b/modules/nixos/homelab/guests/photoprism/photoprismEris/default.nix index ddf15a6..92bf3b8 100755 --- a/modules/nixos/homelab/guests/photoprism/photoprismEris/default.nix +++ b/modules/nixos/homelab/guests/photoprism/photoprismEris/default.nix @@ -10,17 +10,17 @@ let inherit (import ../config { inherit flake lib; }) photoprismVM; inherit (flake.config.services.instances) photoprism; inherit (flake.config.people) user0; - interface0Cfg = photoprism.interfaces.interface0; + interfaceCfg = photoprism.interfaces.interface0; photoprismNick = photoprismVM { user = user0; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; mnt = guestPath user0; data = mediaPath user0; - host = interface0Cfg.domain; + host = interfaceCfg.domain; }; in photoprismNick diff --git a/modules/nixos/homelab/guests/qbittorrent/qbittorrentCeres/default.nix b/modules/nixos/homelab/guests/qbittorrent/qbittorrentCeres/default.nix index 9e422a3..91754f8 100755 --- a/modules/nixos/homelab/guests/qbittorrent/qbittorrentCeres/default.nix +++ b/modules/nixos/homelab/guests/qbittorrent/qbittorrentCeres/default.nix @@ -11,16 +11,16 @@ let inherit (flake.config.people) user0; inherit (flake.config.services) instances; - interface0Cfg = instances.qbittorrent.interfaces.interface0; + interfaceCfg = instances.qbittorrent.interfaces.interface0; qbittorrentCeres = qbittorrentVM { user = user0; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; mnt = mntPath; - host = interface0Cfg.domain; + host = interfaceCfg.domain; port = 51820; endpoint = "185.111.110.1"; address = [ "10.2.0.2/32" ]; diff --git a/modules/nixos/homelab/guests/syncthing/config/default.nix b/modules/nixos/homelab/guests/syncthing/config/default.nix index 4166579..a856618 100755 --- a/modules/nixos/homelab/guests/syncthing/config/default.nix +++ b/modules/nixos/homelab/guests/syncthing/config/default.nix @@ -5,6 +5,8 @@ let inherit (flake.config.people) user0; inherit (flake.config.services.instances) syncthing; + inherit (import ../../../../helpers.nix { inherit flake; }) labHelpers; + inherit (labHelpers) mediaPath docsPath miscPath; serviceCfg = syncthing; in { @@ -17,10 +19,6 @@ in userMac, ssh, mnt, - folders, - devices, - tmp, - mounts, }: { microvm.vms = { @@ -39,15 +37,11 @@ in openDefaultPorts = true; systemService = true; guiAddress = "0.0.0.0:${toString serviceCfg.ports.port0}"; - # guiPasswordFile = "/run/secrets/${user}-pass"; - settings = { gui = { user = user; password = pass; }; - folders = folders; - devices = devices; options = { urAccepted = -1; }; @@ -97,8 +91,10 @@ in tmpfiles.rules = [ "d /var/lib/${serviceCfg.name} 0755 ${serviceCfg.name} ${serviceCfg.name} -" - ] - ++ tmp; + "d /var/lib/${serviceCfg.name}/docs 0755 ${serviceCfg.name} ${serviceCfg.name} -" + "d /var/lib/${serviceCfg.name}/media 0755 ${serviceCfg.name} ${serviceCfg.name} -" + "d /var/lib/${serviceCfg.name}/misc 0755 ${serviceCfg.name} ${serviceCfg.name} -" + ]; }; microvm = { vcpu = 1; @@ -136,14 +132,32 @@ in source = "${mnt}/${serviceCfg.name}"; tag = "${serviceCfg.name}_${user}_data"; } + { + mountPoint = "/var/lib/${serviceCfg.name}/docs"; + proto = "virtiofs"; + source = docsPath user; + tag = "${serviceCfg.name}_${user}_docs"; + } + { + mountPoint = "/var/lib/${serviceCfg.name}/media"; + proto = "virtiofs"; + source = mediaPath user; + tag = "${serviceCfg.name}_${user}_media"; + } + { + mountPoint = "/var/lib/${serviceCfg.name}/misc"; + proto = "virtiofs"; + source = miscPath user; + tag = "${serviceCfg.name}_${user}_misc"; + } + { mountPoint = "/run/secrets"; proto = "virtiofs"; source = "/run/secrets/${serviceCfg.name}"; tag = "host_secrets"; } - ] - ++ mounts; + ]; }; }; }; diff --git a/modules/nixos/homelab/guests/syncthing/syncthingEris/default.nix b/modules/nixos/homelab/guests/syncthing/syncthingEris/default.nix index 748be02..f8d92c3 100755 --- a/modules/nixos/homelab/guests/syncthing/syncthingEris/default.nix +++ b/modules/nixos/homelab/guests/syncthing/syncthingEris/default.nix @@ -4,99 +4,21 @@ }: let inherit (import ../../../helpers.nix { inherit flake; }) labHelpers; - inherit (labHelpers) - guestPath - mediaPath - docsPath - miscPath - ; + inherit (labHelpers) guestPath; inherit (import ../config { inherit flake; }) syncthingVM; inherit (flake.config.services) instances; inherit (flake.config.people) user0; serviceCfg = instances.syncthing; - interface0Cfg = serviceCfg.interfaces.interface0; + interfaceCfg = serviceCfg.interfaces.interface0; - foldersHelper = user: { - docs = { - enable = true; - id = "docs"; - path = "/var/lib/${serviceCfg.name}/docs"; - devices = [ - "${user}Phone" - ]; - }; - media = { - enable = true; - id = "media"; - path = "/var/lib/${serviceCfg.name}/media"; - devices = [ - "${user}Phone" - ]; - }; - misc = { - enable = true; - id = "misc"; - path = "/var/lib/${serviceCfg.name}/misc"; - devices = [ - "${user}Phone" - ]; - }; + syncthingNick = syncthingVM { + user = user0; + pass = "$2y$05$WoNmQOeBPM5GhxhgkUmZqOoyBU0Y34e9N7gLZ3Xwb2J8V0j5Uoy7u"; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; + mnt = guestPath user0; }; - - devicesHelper = user: syncID: device: deviceIP: { - "${user}${device}" = { - autoAcceptFolders = true; - name = "${user}${device}"; - addresses = [ - "tcp://${deviceIP}:${toString serviceCfg.ports.port2}" - ]; - id = syncID; - }; - }; - - mountsHelper = user: [ - { - mountPoint = "/var/lib/${serviceCfg.name}/docs"; - proto = "virtiofs"; - source = docsPath user; - tag = "${serviceCfg.name}_${user}_docs"; - } - { - mountPoint = "/var/lib/${serviceCfg.name}/media"; - proto = "virtiofs"; - source = mediaPath user; - tag = "${serviceCfg.name}_${user}_media"; - } - { - mountPoint = "/var/lib/${serviceCfg.name}/misc"; - proto = "virtiofs"; - source = miscPath user; - tag = "${serviceCfg.name}_${user}_misc"; - } - ]; - - tmpRulesIn = [ - "d /var/lib/${serviceCfg.name}/docs 0755 ${serviceCfg.name} ${serviceCfg.name} -" - "d /var/lib/${serviceCfg.name}/media 0755 ${serviceCfg.name} ${serviceCfg.name} -" - "d /var/lib/${serviceCfg.name}/misc 0755 ${serviceCfg.name} ${serviceCfg.name} -" - ]; - - syncthingNick = - let - phoneID = "OALKHLZ-OODUWVX-PAC2LI7-UMZMSZO-FELLRCD-RS4DHJS-PVA5YQK-WTFXXQI"; - in - syncthingVM { - user = user0; - pass = "$2y$05$WoNmQOeBPM5GhxhgkUmZqOoyBU0Y34e9N7gLZ3Xwb2J8V0j5Uoy7u"; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; - mnt = guestPath user0; - folders = foldersHelper user0; - devices = devicesHelper user0 phoneID "Phone" "192.168.50.8"; - mounts = mountsHelper user0; - tmp = tmpRulesIn; - }; in syncthingNick diff --git a/modules/nixos/homelab/guests/vaultwarden/vaultwardenCeres/default.nix b/modules/nixos/homelab/guests/vaultwarden/vaultwardenCeres/default.nix index 394fb26..6109cce 100755 --- a/modules/nixos/homelab/guests/vaultwarden/vaultwardenCeres/default.nix +++ b/modules/nixos/homelab/guests/vaultwarden/vaultwardenCeres/default.nix @@ -9,22 +9,22 @@ let inherit (import ../config { inherit flake; }) vaultwardenVM; inherit (flake.config.services) instances; - interface0Cfg = instances.vaultwarden.interfaces.interface1; - smtpCfg = instances.smtp; + interfaceCfg = instances.vaultwarden.interfaces.interface1; + smtCfg = instances.smtp; host = flake.inputs.linkpage.secrets.domains.projectsite; vaultwardenProject = vaultwardenVM { user = "project"; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; mnt = mntPath; inter = "enp0s5"; - host = "${interface0Cfg.subdomain}.${host}"; + host = "${interfaceCfg.subdomain}.${host}"; smtpFrom = "noreply@${host}"; - smtpHost = smtpCfg.interfaces.interface0.domain; - smtpPort = smtpCfg.ports.port1; + smtpHost = smtCfg.interfaces.interface0.domain; + smtpPort = smtCfg.ports.port1; smtpUser = "noreply@${host}"; }; in diff --git a/modules/nixos/homelab/guests/vaultwarden/vaultwardenEris/default.nix b/modules/nixos/homelab/guests/vaultwarden/vaultwardenEris/default.nix index 2e554a5..c2a0733 100755 --- a/modules/nixos/homelab/guests/vaultwarden/vaultwardenEris/default.nix +++ b/modules/nixos/homelab/guests/vaultwarden/vaultwardenEris/default.nix @@ -10,22 +10,22 @@ let inherit (flake.config.people) user0; inherit (flake.config.services) instances; - interface0Cfg = instances.vaultwarden.interfaces.interface0; - smtpCfg = instances.smtp; + interfaceCfg = instances.vaultwarden.interfaces.interface0; + smtCfg = instances.smtp; vaultwardenNick = vaultwardenVM { user = user0; - ip = interface0Cfg.microvm.ip; - mac = interface0Cfg.microvm.mac; - userMac = interface0Cfg.microvm.macUser; - ssh = interface0Cfg.microvm.ssh; + ip = interfaceCfg.microvm.ip; + mac = interfaceCfg.microvm.mac; + userMac = interfaceCfg.microvm.macUser; + ssh = interfaceCfg.microvm.ssh; mnt = guestPath user0; inter = "enp0s5"; - host = interface0Cfg.domain; - smtpFrom = smtpCfg.interfaces.interface0.email; - smtpHost = smtpCfg.interfaces.interface0.domain; - smtpPort = smtpCfg.ports.port1; - smtpUser = smtpCfg.interfaces.interface0.email; + host = interfaceCfg.domain; + smtpFrom = smtCfg.interfaces.interface0.email; + smtpHost = smtCfg.interfaces.interface0.domain; + smtpPort = smtCfg.ports.port1; + smtpUser = smtCfg.interfaces.interface0.email; }; in