diff --git a/flake.lock b/flake.lock index 46b4b96..c516fcc 100644 --- a/flake.lock +++ b/flake.lock @@ -373,11 +373,11 @@ ] }, "locked": { - "lastModified": 1787590410, - "narHash": "sha256-1u1lIQ1r45r7vF4yIB8lKAH0bDNCHIWs40r3CVAMKxg=", + "lastModified": 1787762084, + "narHash": "sha256-UsnVAWB3cw6zdpO1cqO1IrskYZUbVYhSKritpKHBuWI=", "ref": "refs/heads/main", - "rev": "d736be2071b076c05e6015f6d78b6dccd8a3317f", - "revCount": 3889, + "rev": "d702eeffe16c5a93cd835bce5cec579211a4f09a", + "revCount": 3910, "type": "git", "url": "https://forge.darkest.space/hyperhive/hyperhive.git" }, diff --git a/nixosConfigurations/muede-lpt2/default.nix b/nixosConfigurations/muede-lpt2/default.nix index 2efad01..bc2d48f 100644 --- a/nixosConfigurations/muede-lpt2/default.nix +++ b/nixosConfigurations/muede-lpt2/default.nix @@ -1,71 +1,88 @@ -{ pkgs, ... }: +{ pkgs, config, lib, ... }: { imports = [ ./containers.nix ./hardware.nix ]; - config = { - my = { - # keep-sorted start - intelGraphics.enable = true; - muedeDesktopSettings.enable = true; - podman.enable = true; - secureBoot.enable = true; - steam.enable = true; - users.muede.enable = true; - wineGaming.enable = true; - # keep-sorted end - }; + config = + let + gw = config.services.hyperhive.gateway; + old = "forge.pr1ma.darkest.space"; + new = "forge.constellation.darkest.space"; + in + { + my = { + # keep-sorted start + intelGraphics.enable = true; + muedeDesktopSettings.enable = true; + podman.enable = true; + secureBoot.enable = true; + steam.enable = true; + users.muede.enable = true; + wineGaming.enable = true; + # keep-sorted end + }; - nix.settings.extra-platforms = [ - "aarch64-linux" - "i686-linux" - ]; - - services.xserver.xkb = { - # Configure keymap in X11 - layout = "de"; - variant = ""; - }; - - # Configure console keymap - console.keyMap = "de"; - - users.users.muede.openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY pixel-JuiceSSH" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv pc2 home roaming" - ]; - - # brightnessctl's udev rules grant the `video` group write access to backlight brightness (muede is in `video`) - environment.systemPackages = [ - pkgs.android-tools - pkgs.brightnessctl - ]; - services.udev.packages = [ pkgs.brightnessctl ]; - - networking.firewall.allowedTCPPorts = [ - 8776 - 1337 - ]; - - services.servicepoint-tanks = { - enable = false; - urls = [ - "http://localhost:5666" - "http://localhost:5667" + nix.settings.extra-platforms = [ + "aarch64-linux" + "i686-linux" ]; - }; - nixpkgs.config.permittedInsecurePackages = [ - "mbedtls-2.28.10" - ]; - boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + services.xserver.xkb = { + # Configure keymap in X11 + layout = "de"; + variant = ""; + }; - my.constellation-swarm = { - enable = true; - hiveName = "pr1ma"; + # Configure console keymap + console.keyMap = "de"; + + users.users.muede.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY pixel-JuiceSSH" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv pc2 home roaming" + ]; + + # brightnessctl's udev rules grant the `video` group write access to backlight brightness (muede is in `video`) + environment.systemPackages = [ + pkgs.android-tools + pkgs.brightnessctl + ]; + services.udev.packages = [ pkgs.brightnessctl ]; + + networking.firewall.allowedTCPPorts = [ + 8776 + 1337 + ]; + + services.servicepoint-tanks = { + enable = false; + urls = [ + "http://localhost:5666" + "http://localhost:5667" + ]; + }; + nixpkgs.config.permittedInsecurePackages = [ + "mbedtls-2.28.10" + ]; + + boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + + my.constellation-swarm = { + enable = true; + hiveName = "pr1ma"; + }; + services.hyperhive.enableAllLocalDefaults = true; + services.nginx.enable = true; + + # DNS: the hive's resolver must still answer for the old name, or + # nothing ever reaches the redirect. The forge module drops it from + # this list the moment you change `swarm.forge.domain`. + services.hyperhive.gateway.localNames = [ old ]; + + services.nginx.virtualHosts.${old} = (gw.lib.tlsFor old) // { + listen = gw.lib.listen; + locations."/".return = "301 https://${new}$request_uri"; + }; }; - services.hyperhive.enableAllLocalDefaults = true; - }; } diff --git a/nixosModules/constellation-swarm.nix b/nixosModules/constellation-swarm.nix index 176adb7..a9963cd 100644 --- a/nixosModules/constellation-swarm.nix +++ b/nixosModules/constellation-swarm.nix @@ -37,20 +37,14 @@ in name = "constellation"; domain = "constellation.darkest.space"; enableRequiredServices = true; - forge = { - # not default - still on hive domain - domain = "forge.pr1ma.darkest.space"; - ci = { - enable = true; - concurrency = 2; - }; - sso.enable = true; + forge.ci = { + enable = true; + concurrency = 2; }; matrix = { # not default - both still on hive domain gatewayHost = "matrix.pr1ma.darkest.space"; serverName = "pr1ma.darkest.space"; - sso.enable = true; }; hives = { "umbra" = {