{ lib, ... }: { imports = [ ./hardware-configuration.nix ../server.nix ]; networking = { hostId = "08bf6db3"; domain = "mesh.vimium.net"; firewall = { enable = true; allowedTCPPorts = [ 22 # SSH ]; }; }; users = { users = { jellyfin = { isSystemUser = true; group = "jellyfin"; shell = "/bin/sh"; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOaaS+KMAEAymZhIJGC4LK8aMhUzhpmloUgvP2cxeBH4 jellyfin" ]; }; root = { openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILVHTjsyMIV4THNw6yz0OxAxGnC+41gX72UrPqTzR+OS jordan@vimium.com" ]; }; }; groups = { jellyfin = { }; }; }; services.openssh.settings.PermitRootLogin = lib.mkForce "prohibit-password"; modules = rec { databases.postgresql.enable = true; services = { borgmatic = { enable = true; directories = [ "/home" "/var/lib" "/var/www" ]; repoPath = "ssh://p91y8oh7@p91y8oh7.repo.borgbase.com/./repo"; }; coturn = { enable = true; realm = "turn.vimium.com"; matrixIntegration = true; }; gitea.enable = true; headscale.enable = true; matrix-synapse = { enable = true; usePostgresql = databases.postgresql.enable; }; nginx.enable = true; photoprism.enable = true; }; }; system.stateVersion = "22.11"; }