diff --git a/lib/options.nix b/lib/options.nix index b08e852..6205a07 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -27,14 +27,14 @@ in { "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJtdH1YqRH9xhuHMivezLvj/hpH77yfH3HUCaRboB/hb forgejo-deploy-runner" ]; disks = { - gallery = ext4 "/dev/disk/by-uuid/834f51c1-90ee-4601-ba76-ef0419198d67"; # disk for photo gallery - data = ext4 "/dev/disk/by-uuid/a5752dd6-092d-484c-969c-2fdc7cb4a5f0"; # disk for app data - host = ext4 "/dev/disk/by-uuid/968f14a4-631e-4325-8cd1-f9aec0da9e4d"; # disk for media collection (named host for backwards compatibility) + # gallery = ext4 "/dev/disk/by-uuid/834f51c1-90ee-4601-ba76-ef0419198d67"; # disk for photo gallery + # data = ext4 "/dev/disk/by-uuid/a5752dd6-092d-484c-969c-2fdc7cb4a5f0"; # disk for app data + # host = ext4 "/dev/disk/by-uuid/968f14a4-631e-4325-8cd1-f9aec0da9e4d"; # disk for media collection (named host for backwards compatibility) # ^^ virtual disks - apps = ext4 "/dev/disk/by-uuid/aa453135-4b7a-4b12-8efc-f3dda093d2b7"; # app data # achive = ext4 "/dev/disk/by-uuid/"; # long term archival - share = btrfs "/dev/disk/by-uuid/f1ee1d17-e852-4e02-ae86-eaf6116a2aeb"; # file share + data = ext4 "/dev/disk/by-uuid/aa453135-4b7a-4b12-8efc-f3dda093d2b7"; # app data + share = btrfs "/dev/disk/by-uuid/f1ee1d17-e852-4e02-ae86-eaf6116a2aeb"; # file server }; dash = [ [ "PocketID" "authentik" "https://auth.${domain}" "http://localhost:1411/" ] diff --git a/modules/system/homelab/ai.nix b/modules/system/homelab/ai.nix index a731d14..34dde0b 100644 --- a/modules/system/homelab/ai.nix +++ b/modules/system/homelab/ai.nix @@ -5,7 +5,7 @@ host = "127.0.0.1"; port = 11434; user = "ollama"; - home = "/mnt/data/ollama"; + home = "/mnt/data/apps/ollama"; loadModels = [ "gemma3n:e4b" # "gemma3n:e2b" "qwen3-coder-next:cloud" # "codellama:7b" "starcoder:3b" @@ -14,7 +14,7 @@ open-webui = { enable = true; port = 8080; - environmentFile = "/mnt/data/ollama/.env"; + environmentFile = "/mnt/data/apps/ollama/.env"; environment = { OLLAMA_BASE_URL = "http://localhost:11434"; # WEBUI_AUTH = "False"; diff --git a/modules/system/homelab/auth.nix b/modules/system/homelab/auth.nix index 57823b9..a93350b 100644 --- a/modules/system/homelab/auth.nix +++ b/modules/system/homelab/auth.nix @@ -1,8 +1,8 @@ { homelab, ... }: { services.pocket-id = { enable = true; - credentials.ENCRYPTION_KEY = "/mnt/data/pocketid/encryption-key"; - dataDir = "/mnt/data/pocketid/data"; + credentials.ENCRYPTION_KEY = "/mnt/data/apps/pocketid/encryption-key"; + dataDir = "/mnt/data/apps/pocketid/data"; settings = { PORT = "1411"; HOST = "127.0.0.1"; diff --git a/modules/system/homelab/code.nix b/modules/system/homelab/code.nix index 3c560e7..779e069 100644 --- a/modules/system/homelab/code.nix +++ b/modules/system/homelab/code.nix @@ -6,8 +6,8 @@ user = username; auth = "none"; disableTelemetry = true; - extensionsDir = "/mnt/data/code-server/extensions"; - userDataDir = "/mnt/data/code-server/user-data"; + extensionsDir = "/mnt/data/apps/code-server/extensions"; + userDataDir = "/mnt/data/apps/code-server/user-data"; extraPackages = with pkgs; []; }; } diff --git a/modules/system/homelab/containers.nix b/modules/system/homelab/containers.nix index abff513..2ca748c 100644 --- a/modules/system/homelab/containers.nix +++ b/modules/system/homelab/containers.nix @@ -1,5 +1,6 @@ { homelab, lib, ... }: let - stacks-dir = "/mnt/data/dockge/stacks"; + dockge-dir = "/mnt/data/apps/dockge"; + stacks-dir = "${dockge-dir}/stacks"; in { virtualisation.oci-containers.containers."dockge" = { image = "louislam/dockge:nightly"; @@ -8,7 +9,7 @@ in { }; volumes = [ "${stacks-dir}:${stacks-dir}:rw" - "/mnt/data/dockge/data:/app/data:rw" + "${dockge-dir}/data:/app/data:rw" "/var/run/docker.sock:/var/run/docker.sock:rw" ]; ports = [ diff --git a/modules/system/homelab/gallery.nix b/modules/system/homelab/gallery.nix index ef890f6..c38787e 100644 --- a/modules/system/homelab/gallery.nix +++ b/modules/system/homelab/gallery.nix @@ -6,7 +6,7 @@ enable = true; port = 2283; host = "127.0.0.1"; - mediaLocation = "/mnt/gallery"; + mediaLocation = "/mnt/data/gallery"; accelerationDevices = null; environment.DB_URL = lib.mkForce "postgresql:///immich?host=/var/run/postgresql&user=immich"; # https://github.com/immich-app/immich/issues/26140 machine-learning.enable = true; diff --git a/modules/system/homelab/git.nix b/modules/system/homelab/git.nix index 8e6b25d..4ea36f7 100644 --- a/modules/system/homelab/git.nix +++ b/modules/system/homelab/git.nix @@ -3,7 +3,7 @@ forgejo = { enable = true; lfs.enable = true; - stateDir = "/mnt/data/forgejo"; + stateDir = "/mnt/data/apps/forgejo"; package = pkgs.forgejo; settings = { server = { diff --git a/modules/system/homelab/pass.nix b/modules/system/homelab/pass.nix index 192208d..7c4e85d 100644 --- a/modules/system/homelab/pass.nix +++ b/modules/system/homelab/pass.nix @@ -2,8 +2,8 @@ services.vaultwarden = { enable = true; domain = "pass.proxy.${homelab.domain}"; - backupDir = "/mnt/data/vaultwarden/backups"; - environmentFile = "/mnt/data/vaultwarden/.env"; + backupDir = "/mnt/data/apps/vaultwarden/backups"; + environmentFile = "/mnt/data/apps/vaultwarden/.env"; config = { ROCKET_PORT = 8060; ROCKET_ADDRESS = "127.0.0.1"; diff --git a/modules/system/homelab/proxy.nix b/modules/system/homelab/proxy.nix index 4977a68..2900e1f 100644 --- a/modules/system/homelab/proxy.nix +++ b/modules/system/homelab/proxy.nix @@ -21,7 +21,7 @@ in { domain = "*.${homelab.proxy.base}"; extraDomainNames = [ homelab.proxy.base ]; dnsProvider = "cloudflare"; - environmentFile = "/mnt/data/acme/.env"; + environmentFile = "/mnt/data/apps/acme/.env"; # ^^^contents: CLOUDFLARE_DNS_API_TOKEN=XXXXX }; }; diff --git a/modules/system/homelab/search.nix b/modules/system/homelab/search.nix index 30d3118..ba46b70 100644 --- a/modules/system/homelab/search.nix +++ b/modules/system/homelab/search.nix @@ -2,7 +2,7 @@ services.searx = { enable = true; redisCreateLocally = true; - environmentFile = "/mnt/data/searxng/.env"; + environmentFile = "/mnt/data/apps/searxng/.env"; settings = { server = { bind_address = "127.0.0.1"; diff --git a/modules/system/homelab/tunnels.nix b/modules/system/homelab/tunnels.nix index c1a9c8d..adc75a7 100644 --- a/modules/system/homelab/tunnels.nix +++ b/modules/system/homelab/tunnels.nix @@ -2,8 +2,8 @@ services.cloudflared = { enable = true; tunnels.homelab = { - credentialsFile = "/mnt/data/cloudflared/homelab.json"; - certificateFile = "/mnt/data/cloudflared/cert.pem"; + credentialsFile = "/mnt/data/apps/cloudflared/homelab.json"; + certificateFile = "/mnt/data/apps/cloudflared/cert.pem"; default = "http_status:404"; ingress = homelab.routes; }; @@ -23,7 +23,7 @@ script = lib.concatMapStringsSep "\n" (domain: '' echo "Ensuring DNS route for ${domain}..." - ${pkgs.cloudflared}/bin/cloudflared tunnel --origincert /mnt/data/cloudflared/cert.pem route dns ${homelab.cf-tunnel-id} ${domain} || true + ${pkgs.cloudflared}/bin/cloudflared tunnel --origincert /mnt/data/apps/cloudflared/cert.pem route dns ${homelab.cf-tunnel-id} ${domain} || true '') (builtins.attrNames homelab.routes); }; } diff --git a/modules/system/server.nix b/modules/system/server.nix index da48085..b87b355 100644 --- a/modules/system/server.nix +++ b/modules/system/server.nix @@ -33,7 +33,7 @@ in { services.tailscale = { enable = true; - authKeyFile = "/mnt/data/tailscale/authkey"; + authKeyFile = "/mnt/data/apps/tailscale/authkey"; useRoutingFeatures = "server"; extraUpFlags = ts-flags; extraSetFlags = ts-flags;