From cf33c036ddde86d04798399aba7ec4fa0c05c3fd Mon Sep 17 00:00:00 2001
From: Gabe Venberg <gabevenberg@gmail.com>
Date: Sat, 12 Apr 2025 11:28:01 +0200
Subject: [PATCH] added ability to make temporary upload sites on cirrostratus.

---
 configs/nixos/minecraft-docker.nix     |  6 +++---
 configs/nixos/miniserve-tmp-upload.nix | 22 ++++++++++++++++++++++
 hosts/cirrostratus/default.nix         |  1 +
 roles/home-manager/terminal.nix        |  1 -
 4 files changed, 26 insertions(+), 4 deletions(-)
 create mode 100644 configs/nixos/miniserve-tmp-upload.nix

diff --git a/configs/nixos/minecraft-docker.nix b/configs/nixos/minecraft-docker.nix
index 66fd4ed..ba76e2c 100644
--- a/configs/nixos/minecraft-docker.nix
+++ b/configs/nixos/minecraft-docker.nix
@@ -18,6 +18,8 @@
         EULA = "TRUE";
         TYPE = "FORGE";
         VERSION = "1.20.1";
+        # GENERIC_PACK="https://static.venberg.xyz/minecraft/create-post-production/modpack.zip";
+        # REMOVE_OLD_MODS="TRUE";
         PACKWIZ_URL = "https://static.venberg.xyz/minecraft/less-than-compact-2/pack.toml";
         MEMORY = "16G";
         USE_AIKAR_FLAGS = "true";
@@ -29,9 +31,7 @@
         # SETUP_ONLY = "true";
         MOTD = "Welcome!";
         DIFFICULTY = "normal";
-        OPS = ''
-          TheToric
-        '';
+        OPS ="TheToric";
         ENFORCE_WHITELIST = "true";
         ENABLE_WHITELIST = "true";
         ANNOUNCE_PLAYER_ACHIEVEMENTS = "true";
diff --git a/configs/nixos/miniserve-tmp-upload.nix b/configs/nixos/miniserve-tmp-upload.nix
new file mode 100644
index 0000000..efb964e
--- /dev/null
+++ b/configs/nixos/miniserve-tmp-upload.nix
@@ -0,0 +1,22 @@
+{
+  inputs,
+  config,
+  pkgs,
+  lib,
+  ...
+}: let
+  port = "5050";
+in {
+  # this is so you can start miniserve in a directory to temporarily allow people to upload:
+  # miniserve --port=5050 --no-symlinks --upload-files --mkdir --show-wget-footer --auth user:pass ./
+  environment.systemPackages = with pkgs; [
+    miniserve
+  ];
+  services.nginx.virtualHosts."upload.venberg.xyz" = {
+    enableACME = true;
+    forceSSL = true;
+    locations."/" = {
+      proxyPass = "http://localhost:${port}";
+    };
+  };
+}
diff --git a/hosts/cirrostratus/default.nix b/hosts/cirrostratus/default.nix
index b1a05f9..64b5b3a 100644
--- a/hosts/cirrostratus/default.nix
+++ b/hosts/cirrostratus/default.nix
@@ -25,6 +25,7 @@ inputs.nixpkgs.lib.nixosSystem {
     ../../configs/nixos/factorio-docker.nix
     ../../configs/nixos/cyberchef.nix
     ../../configs/nixos/miniserve-directory.nix
+    ../../configs/nixos/miniserve-tmp-upload.nix
     ../../configs/nixos/minecraft-docker.nix
     ../../configs/nixos/nginx-static.nix
     ({
diff --git a/roles/home-manager/terminal.nix b/roles/home-manager/terminal.nix
index 317b724..314a217 100644
--- a/roles/home-manager/terminal.nix
+++ b/roles/home-manager/terminal.nix
@@ -24,7 +24,6 @@
     hyperfine
     fclones
     libqalculate
-    miniserve
   ];
 
   programs = {