feat: add tailscale

Tailscale is a VPN which allows easily connecting lots of different
devices together and accessing them via easy-to-remember names. We want
to use it to make development and server management easier

Change-Id: I76a95258664410ba0e10a08853c646aa54689714
Reviewed-on: https://git.clicks.codes/c/Chimera/NixFiles/+/738
Reviewed-by: Samuel Shuert <coded@clicks.codes>
Tested-by: Skyler Grey <minion@clicks.codes>
diff --git a/systems/x86_64-linux/greylag/networking/default.nix b/systems/x86_64-linux/greylag/networking/default.nix
index e757b94..b0bdd4d 100644
--- a/systems/x86_64-linux/greylag/networking/default.nix
+++ b/systems/x86_64-linux/greylag/networking/default.nix
@@ -1,4 +1,15 @@
-{
+{ config, ... }: {
   networking.hostName = "greylag";
   networking.useDHCP = true;
+
+  chimera.networking.tailscale.authKeyFile = config.sops.secrets."systems/x86_64-linux/greylag/networking/tailscale.sops.minion.json:authkey".path;
+
+  sops.secrets."systems/x86_64-linux/greylag/networking/tailscale.sops.minion.json:authkey" = {
+    mode = "0400";
+    owner = config.users.users.root.name;
+    group = config.users.users.root.group;
+    sopsFile = ./tailscale.sops.minion.json;
+    format = "json";
+    key = "authkey";
+  };
 }