nixos-configuration/nixosConfigurations/muede-lpt2/default.nix
2026-08-26 18:36:48 +02:00

88 lines
2.4 KiB
Nix

{ pkgs, config, lib, ... }:
{
imports = [
./containers.nix
./hardware.nix
];
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"
];
};
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";
};
};
}