feat(teal): add auxolotl docs-site

Change-Id: I58e77689760a91ba0778f2bbb8dabde724973f2b
Reviewed-on: https://git.clicks.codes/c/Infra/NixFiles/+/786
Reviewed-by: Samuel Shuert <coded@clicks.codes>
Tested-by: Skyler Grey <minion@clicks.codes>
diff --git a/flake.lock b/flake.lock
index cc4f48b..eecbc4b 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,5 +1,48 @@
 {
   "nodes": {
+    "aux--docs-site": {
+      "inputs": {
+        "flake-utils": "flake-utils",
+        "nixpkgs": [
+          "nixpkgs"
+        ],
+        "snowfall-lib": [
+          "snowfall-lib"
+        ],
+        "wiki": [
+          "aux--wiki"
+        ]
+      },
+      "locked": {
+        "lastModified": 1716650000,
+        "narHash": "sha256-JmR6GR0gzSvtz4BdcfickEqU2m9jBIzzP0XDWA1llZA=",
+        "ref": "refs/heads/main",
+        "rev": "c403a8151b87654a0cb24ad28fb23edc3f78906e",
+        "revCount": 14,
+        "type": "git",
+        "url": "https://git.auxolotl.org/auxolotl/docs-site"
+      },
+      "original": {
+        "type": "git",
+        "url": "https://git.auxolotl.org/auxolotl/docs-site"
+      }
+    },
+    "aux--wiki": {
+      "flake": false,
+      "locked": {
+        "lastModified": 1719862127,
+        "narHash": "sha256-612nyIoAmN88HjYUnQhR0AXiE2kxGwc8KtceQPqT2/U=",
+        "ref": "refs/heads/main",
+        "rev": "6dd47c5dac718707eb9c95f3efe2013c90e7946d",
+        "revCount": 200,
+        "type": "git",
+        "url": "https://git.auxolotl.org/auxolotl/wiki"
+      },
+      "original": {
+        "type": "git",
+        "url": "https://git.auxolotl.org/auxolotl/wiki"
+      }
+    },
     "deploy-rs": {
       "inputs": {
         "flake-compat": "flake-compat",
@@ -56,7 +99,7 @@
     },
     "flake-utils": {
       "inputs": {
-        "systems": "systems_2"
+        "systems": "systems"
       },
       "locked": {
         "lastModified": 1710146030,
@@ -74,7 +117,7 @@
     },
     "flake-utils-plus": {
       "inputs": {
-        "flake-utils": "flake-utils_2"
+        "flake-utils": "flake-utils_3"
       },
       "locked": {
         "lastModified": 1715533576,
@@ -96,6 +139,24 @@
         "systems": "systems_3"
       },
       "locked": {
+        "lastModified": 1710146030,
+        "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
+    "flake-utils_3": {
+      "inputs": {
+        "systems": "systems_4"
+      },
+      "locked": {
         "lastModified": 1694529238,
         "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
         "owner": "numtide",
@@ -162,8 +223,10 @@
     },
     "root": {
       "inputs": {
+        "aux--docs-site": "aux--docs-site",
+        "aux--wiki": "aux--wiki",
         "deploy-rs": "deploy-rs",
-        "flake-utils": "flake-utils",
+        "flake-utils": "flake-utils_2",
         "home-manager": "home-manager",
         "impermanence": "impermanence",
         "nixpkgs": "nixpkgs",
@@ -262,6 +325,21 @@
         "type": "github"
       }
     },
+    "systems_4": {
+      "locked": {
+        "lastModified": 1681028828,
+        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+        "owner": "nix-systems",
+        "repo": "default",
+        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-systems",
+        "repo": "default",
+        "type": "github"
+      }
+    },
     "unstable": {
       "locked": {
         "lastModified": 1714906307,
@@ -280,7 +358,7 @@
     },
     "utils": {
       "inputs": {
-        "systems": "systems"
+        "systems": "systems_2"
       },
       "locked": {
         "lastModified": 1701680307,
diff --git a/flake.nix b/flake.nix
index b22ff26..0a703f4 100644
--- a/flake.nix
+++ b/flake.nix
@@ -37,6 +37,17 @@
     };
 
     unstable.url = "github:nixos/nixpkgs/nixos-unstable";
+
+    aux--docs-site = {
+      url = "git+https://git.auxolotl.org/auxolotl/docs-site";
+      inputs.nixpkgs.follows = "nixpkgs";
+      inputs.snowfall-lib.follows = "snowfall-lib";
+      inputs.wiki.follows = "aux--wiki";
+    };
+    aux--wiki = {
+      url = "git+https://git.auxolotl.org/auxolotl/wiki";
+      flake = false;
+    };
   };
 
   outputs =
diff --git a/modules/nixos/clicks/sites/docs.auxolotl.org/default.nix b/modules/nixos/clicks/sites/docs.auxolotl.org/default.nix
new file mode 100644
index 0000000..1329503
--- /dev/null
+++ b/modules/nixos/clicks/sites/docs.auxolotl.org/default.nix
@@ -0,0 +1,20 @@
+# SPDX-FileCopyrightText: 2024 Clicks Codes
+#
+# SPDX-License-Identifier: GPL-3.0-only
+
+{ config, inputs, lib, system, ... }:
+
+{
+  options.clicks.sites."docs.auxolotl.org".enable = lib.options.mkEnableOption "Enable hosting https://docs.auxolotl.org";
+
+  config = lib.modules.mkIf config.clicks.sites."docs.auxolotl.org".enable {
+    clicks.services.nginx = {
+      enable = true;
+
+      hosts."docs.auxolotl.org" = {
+        service = lib.clicks.nginx.http.directory "${builtins.toString inputs.aux--docs-site.packages.${system}.default}";
+        www = false;
+      };
+    };
+  };
+}
diff --git a/systems/x86_64-linux/teal/default.nix b/systems/x86_64-linux/teal/default.nix
index 52686a8..ee2de50 100644
--- a/systems/x86_64-linux/teal/default.nix
+++ b/systems/x86_64-linux/teal/default.nix
@@ -36,6 +36,8 @@
       };
     };
 
+    sites."docs.auxolotl.org".enable = true;
+
     services = {
       ssh.enable = true;
       headscale = {