summary refs log tree commit diff stats
path: root/system
diff options
context:
space:
mode:
authorAlan Pearce2024-05-13 23:42:54 +0200
committerAlan Pearce2024-05-13 23:42:54 +0200
commitc4448d4e960bc895e9d73a9cf5d6f58f1dc9bd67 (patch)
treee763ed2c80ead3c0b491a95d6f8f1ac3c674f2d4 /system
parent558d23085fab11e8f49ae583c71f203279c4e8bc (diff)
downloadnixfiles-c4448d4e960bc895e9d73a9cf5d6f58f1dc9bd67.tar.lz
nixfiles-c4448d4e960bc895e9d73a9cf5d6f58f1dc9bd67.tar.zst
nixfiles-c4448d4e960bc895e9d73a9cf5d6f58f1dc9bd67.zip
linde: deploy searchix
Diffstat (limited to 'system')
-rw-r--r--system/linde.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/system/linde.nix b/system/linde.nix
index bbcf0b0f..97699025 100644
--- a/system/linde.nix
+++ b/system/linde.nix
@@ -146,6 +146,13 @@ in
       auto-optimise-store = true;
       trusted-users = [ "root" "nixremote" ];
       experimental-features = [ "nix-command" "flakes" ];
+      substituters = [
+        "https://nix-community.cachix.org"
+      ];
+
+      trusted-public-keys = [
+        "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
+      ];
     };
     gc = {
       automatic = true;
@@ -678,6 +685,12 @@ in
           reverse_proxy localhost${config.services.ntfy-sh.settings.listen-http}
         '';
       };
+      "searchix.alanpearce.eu" = {
+        useACMEHost = "alanpearce.eu";
+        extraConfig = ''
+          reverse_proxy localhost:${toString config.services.searchix.settings.web.port}
+        '';
+      };
       "legit.alanpearce.eu" =
         let
           server = config.services.legit.settings.server;
@@ -803,4 +816,40 @@ in
     overrideDevices = false;
     overrideFolders = false;
   };
+
+  services.searchix = {
+    enable = true;
+    settings = {
+      web = {
+        baseURL = "https://searchix.alanpearce.eu";
+        sentryDSN = "https://26d4cd8d20157ae2f6b4726ceae1a563@o4507187730120704.ingest.de.sentry.io/4507187734970448";
+        contentSecurityPolicy = {
+          script-src = [
+            "'self'"
+            "'unsafe-inline'"
+            "https://gc.zgo.at"
+            "https://js-de.sentry-cdn.com"
+            "https://browser.sentry-cdn.com"
+          ];
+          connect-src = [
+            "'self'"
+            "https://searchix.goatcounter.com/count"
+            "*.sentry.io"
+          ];
+        };
+        extraBodyHTML = ''
+          <script
+            src="https://js-de.sentry-cdn.com/d735e99613a86e1625fb85d0e8e762de.min.js"
+            crossorigin="anonymous"></script>
+          <script data-goatcounter="https://searchix.goatcounter.com/count"
+                async src="//gc.zgo.at/count.js"></script>
+        '';
+      };
+
+      importer.sources = {
+        darwin.enable = true;
+        home-manager.enable = true;
+      };
+    };
+  };
 }