From 2095c51d7b925e40fafc0856034b6d16ebde239e Mon Sep 17 00:00:00 2001
From: dadada <dadada@dadada.li>
Date: Thu, 31 Dec 2020 18:44:43 +0100
Subject: [PATCH] surgat: add share service

---
 hosts/surgat/default.nix |  1 +
 modules/default.nix      |  1 +
 modules/module-list.nix  |  1 +
 modules/share.nix        | 30 ++++++++++++++++++++++++++++++
 4 files changed, 33 insertions(+)
 create mode 100644 modules/share.nix

diff --git a/hosts/surgat/default.nix b/hosts/surgat/default.nix
index 02a9f6b..fda7664 100644
--- a/hosts/surgat/default.nix
+++ b/hosts/surgat/default.nix
@@ -23,6 +23,7 @@ in {
   dadada.networking.vpnExtension = "4";
   dadada.weechat.enable = true;
   dadada.homePage.enable = true;
+  dadada.share.enable = true;
   dadada.backupClient = {
     enable = true;
     bs = true;
diff --git a/modules/default.nix b/modules/default.nix
index a21ea10..1154dfb 100644
--- a/modules/default.nix
+++ b/modules/default.nix
@@ -5,6 +5,7 @@
   fido2 = ./fido2.nix;
   fileShare = ./fileShare.nix;
   networking = ./networking.nix;
+  share = ./share.nix;
   steam = ./steam.nix;
   update = ./update.nix;
   vpnServer = ./vpnServer.nix;
diff --git a/modules/module-list.nix b/modules/module-list.nix
index abb0b78..98bf13a 100644
--- a/modules/module-list.nix
+++ b/modules/module-list.nix
@@ -5,6 +5,7 @@
   ./fileShare.nix
   ./homepage.nix
   ./networking.nix
+  ./share.nix
   ./steam.nix
   ./update.nix
   ./vpnServer.nix
diff --git a/modules/share.nix b/modules/share.nix
new file mode 100644
index 0000000..852ae80
--- /dev/null
+++ b/modules/share.nix
@@ -0,0 +1,30 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+let
+  cfg = config.dadada.share;
+in {
+  options.dadada.share = {
+    enable = mkEnableOption "Enable file share";
+  };
+  config = mkIf cfg.enable {
+    services.nginx.enable = true;
+
+    services.nginx.virtualHosts."share.dadada.li" = {
+      enableACME = true;
+      forceSSL = true;
+
+      root = "/var/lib/share";
+
+      locations = {
+        "/robots.txt" = {
+          extraConfig = ''
+            add_header Content-Type text/plain;
+            return 200 "User-agent: *\nDisallow: /\n";
+          '';
+        };
+      };
+    };
+  };
+}
+