diff options
Diffstat (limited to 'host')
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 |