summary refs log tree commit diff
path: root/host
diff options
context:
space:
mode:
Diffstat (limited to 'host')
-rw-r--r--host/Rory-desktop/configuration.nix6
-rwxr-xr-xhost/Rory-nginx/services/containers/matrixunittests-conduit/container.nix26
-rwxr-xr-xhost/Rory-nginx/services/containers/matrixunittests-conduit/root.nix31
-rwxr-xr-xhost/Rory-nginx/services/containers/matrixunittests-conduit/services/conduit.nix21
-rwxr-xr-xhost/Rory-nginx/services/containers/matrixunittests-conduit/services/nginx.nix100
-rwxr-xr-xhost/Rory-nginx/services/containers/matrixunittests-conduit/services/pantalaimon.nix16
-rwxr-xr-xhost/Rory-nginx/services/nginx/nginx.nix1
-rwxr-xr-xhost/Rory-nginx/services/nginx/rory.gay/conduit.matrixunittests.nix15
8 files changed, 213 insertions, 3 deletions
diff --git a/host/Rory-desktop/configuration.nix b/host/Rory-desktop/configuration.nix
index eac78df..da3d8e3 100644
--- a/host/Rory-desktop/configuration.nix
+++ b/host/Rory-desktop/configuration.nix
@@ -156,7 +156,7 @@
 
     # - Utilities
     inkscape-with-extensions
-    gimp-with-plugins
+    gimp #-with-plugins
 
     # - Languages
     #dotnet-sdk_7
@@ -181,7 +181,7 @@
     firefox-bin
     ungoogled-chromium #needed for Rider in order to debug WASM
 
-    yuzu-early-access
+    #yuzu-early-access
     wineWowPackages.unstableFull
     winetricks
     fragments
@@ -281,7 +281,7 @@
       modesetting.enable = true;
       powerManagement.enable = false;
       powerManagement.finegrained = false;
-      open = false;
+      open = true;
       nvidiaSettings = true;
       nvidiaPersistenced = true;
       package = config.boot.kernelPackages.nvidiaPackages.stable;
diff --git a/host/Rory-nginx/services/containers/matrixunittests-conduit/container.nix b/host/Rory-nginx/services/containers/matrixunittests-conduit/container.nix
new file mode 100755
index 0000000..28309b5
--- /dev/null
+++ b/host/Rory-nginx/services/containers/matrixunittests-conduit/container.nix
@@ -0,0 +1,26 @@
+{ pkgs, lib, conduit, ... }:
+
+{
+  privateNetwork = true;
+  autoStart = true;
+  specialArgs = {
+    inherit conduit;
+  };  
+  config = { lib, pkgs, conduit, ... }: {
+    imports = [ ./root.nix ];
+    environment.etc."resolv.conf".text = ''
+      nameserver 8.8.8.8
+      nameserver 8.4.4.8
+      nameserver 1.1.1.1
+      nameserver 1.0.0.1
+      '';
+    networking.firewall = {
+      enable = true;
+      allowedTCPPorts = [ 80 5432 ];
+    };
+  };  
+  hostAddress = "192.168.100.14";
+  localAddress = "192.168.100.15";
+  hostAddress6 = "fc00::5";
+  localAddress6 = "fc00::6";
+}
\ No newline at end of file
diff --git a/host/Rory-nginx/services/containers/matrixunittests-conduit/root.nix b/host/Rory-nginx/services/containers/matrixunittests-conduit/root.nix
new file mode 100755
index 0000000..b42a38a
--- /dev/null
+++ b/host/Rory-nginx/services/containers/matrixunittests-conduit/root.nix
@@ -0,0 +1,31 @@
+{ config, pkgs, lib, conduit, ... }:
+
+{
+  imports =
+    [
+      ./services/nginx.nix
+      ./services/conduit.nix
+      ./services/pantalaimon.nix
+    ];
+
+  environment.systemPackages = with pkgs; [
+    wget
+    neofetch
+    lnav
+    zsh
+    git
+    lsd
+    htop
+    btop
+    duf
+    kitty.terminfo
+    neovim
+    tmux
+    jq
+    yq
+    pv
+    dig
+    cloud-utils
+  ];
+
+}
\ No newline at end of file
diff --git a/host/Rory-nginx/services/containers/matrixunittests-conduit/services/conduit.nix b/host/Rory-nginx/services/containers/matrixunittests-conduit/services/conduit.nix
new file mode 100755
index 0000000..e01b1d0
--- /dev/null
+++ b/host/Rory-nginx/services/containers/matrixunittests-conduit/services/conduit.nix
@@ -0,0 +1,21 @@
+{ config, pkgs, lib, conduit, ... }:
+
+{
+  services.matrix-conduit = {
+    package = conduit.packages.${pkgs.system}.default;
+    enable = true;
+    settings.global = {
+      address = "127.0.0.1";
+      server_name = "conduit.matrixunittests.rory.gay";
+      database_backend = "rocksdb";
+      enable_lightning_bolt = true;
+      max_concurrent_requests = 1000;
+      allow_check_for_updates = false;
+      allow_registration = true;
+      yes_i_am_very_very_sure_i_want_an_open_registration_server_prone_to_abuse = true;
+      allow_guest_registration = true;
+      disable_federation = true;
+    };
+  };
+}
+
diff --git a/host/Rory-nginx/services/containers/matrixunittests-conduit/services/nginx.nix b/host/Rory-nginx/services/containers/matrixunittests-conduit/services/nginx.nix
new file mode 100755
index 0000000..a33c784
--- /dev/null
+++ b/host/Rory-nginx/services/containers/matrixunittests-conduit/services/nginx.nix
@@ -0,0 +1,100 @@
+{ config, pkgs, lib, ... }:
+
+{
+  services = {
+    nginx = {
+      enable = true;
+      package = pkgs.nginxQuic;
+      recommendedProxySettings = true;
+      recommendedTlsSettings = true;
+      recommendedZstdSettings = true;
+      recommendedGzipSettings = true;
+      recommendedBrotliSettings = true;
+      recommendedOptimisation = true;
+      appendConfig = ''
+        worker_processes 16;
+        '';
+       eventsConfig = ''
+        #use kqueue;
+        worker_connections 512;
+        '';
+      appendHttpConfig = ''
+        #sendfile on;
+        disable_symlinks off;
+      '';
+      additionalModules = with pkgs.nginxModules; [
+        moreheaders
+      ];
+      virtualHosts = {
+        "conduit.matrixunittests.rory.gay" = {
+          locations."/" = {
+            proxyPass = "http://127.0.0.1:6167"; 
+            extraConfig = ''
+              if ($request_method = 'OPTIONS') {
+                more_set_headers 'Access-Control-Allow-Origin: *';
+                more_set_headers 'Access-Control-Allow-Methods: *';
+                #
+                # Custom headers and headers various browsers *should* be OK with but aren't
+                #
+                more_set_headers 'Access-Control-Allow-Headers: *';
+                #
+                # Tell client that this pre-flight info is valid for 20 days
+                #
+                more_set_headers 'Access-Control-Max-Age: 1728000';
+                more_set_headers 'Content-Type: text/plain; charset=utf-8';
+                more_set_headers 'Content-Length: 0';
+                return 204;
+              }
+            '';
+          };
+          locations."= /.well-known/matrix/server".extraConfig = ''
+            more_set_headers 'Content-Type application/json';
+            more_set_headers 'Access-Control-Allow-Origin *';
+            return 200 '${builtins.toJSON {
+              "m.server" = "conduit.matrixunittests.rory.gay:443";
+            }}';
+          ''; 
+          locations."= /.well-known/matrix/client".extraConfig = ''
+            more_set_headers 'Content-Type application/json';
+            more_set_headers 'Access-Control-Allow-Origin *';
+            return 200 '${builtins.toJSON {
+              "m.homeserver".base_url = "https://conduit.matrixunittests.rory.gay";
+            }
+            }';
+          ''; 
+          locations."= /.well-known/matrix/support".extraConfig = ''
+            more_set_headers 'Content-Type application/json';
+            more_set_headers 'Access-Control-Allow-Origin *';
+            return 200 '${builtins.toJSON {
+              admins = [
+                  {
+                    matrix_id = "@emma:rory.gay";
+                    role = "admin";
+                  }
+                  {
+                    matrix_id = "@alicia:rory.gay";
+                    role = "admin";
+                  }
+                  {
+                    matrix_id = "@root:rory.gay";
+                    role = "admin";
+                  }
+                  {
+                    matrix_id = "@rory:rory.gay";
+                    role = "admin";
+                  }
+                ];
+              }
+            }';
+          '';
+        };
+      };
+    };
+  };
+  systemd.services.nginx.serviceConfig = {
+    LimitNOFILE=5000000;
+  };
+  security.acme.acceptTerms = true;
+  security.acme.defaults.email = "root@rory.gay";
+
+}
diff --git a/host/Rory-nginx/services/containers/matrixunittests-conduit/services/pantalaimon.nix b/host/Rory-nginx/services/containers/matrixunittests-conduit/services/pantalaimon.nix
new file mode 100755
index 0000000..b5f7f77
--- /dev/null
+++ b/host/Rory-nginx/services/containers/matrixunittests-conduit/services/pantalaimon.nix
@@ -0,0 +1,16 @@
+{ config, pkgs, lib, ... }:
+
+{
+  services.pantalaimon-headless = {
+    instances."localhost" = {
+      homeserver = "http://localhost:6167";
+      ssl = false;
+      extraSettings = {
+        "DropOldKeys" = true;
+        "UseKeyring" = false;
+      };
+    };
+  };
+
+}
+
diff --git a/host/Rory-nginx/services/nginx/nginx.nix b/host/Rory-nginx/services/nginx/nginx.nix
index 5a1da68..74a99d2 100755
--- a/host/Rory-nginx/services/nginx/nginx.nix
+++ b/host/Rory-nginx/services/nginx/nginx.nix
@@ -58,6 +58,7 @@
         "matrix-rory-gay.localhost" = import ./localhost/matrix-rory-gay.nix;
         "pcpoc.rory.gay" = import ./rory.gay/pcpoc.nix;
         "matrixunittests.rory.gay" = import ./rory.gay/matrixunittests.nix;
+        "conduit.matrixunittests.rory.gay" = import ./rory.gay/conduit.matrixunittests.nix;
         "mru.rory.gay" = import ./rory.gay/mru.nix;
 
         #bots...
diff --git a/host/Rory-nginx/services/nginx/rory.gay/conduit.matrixunittests.nix b/host/Rory-nginx/services/nginx/rory.gay/conduit.matrixunittests.nix
new file mode 100755
index 0000000..c9610fd
--- /dev/null
+++ b/host/Rory-nginx/services/nginx/rory.gay/conduit.matrixunittests.nix
@@ -0,0 +1,15 @@
+{
+  enableACME = true;
+  addSSL = true;
+  http3 = true;
+  http3_hq = true;
+  kTLS = true;
+  extraConfig = ''
+    brotli off;
+    '';
+  locations = {
+    "/" = {
+      proxyPass = "http://192.168.100.15:80";
+    };
+  };
+}
\ No newline at end of file