117 lines
2.2 KiB
Nix
117 lines
2.2 KiB
Nix
{ config
|
|
, pkgs
|
|
, lib
|
|
, ...
|
|
}:
|
|
let
|
|
hostName = "surgat";
|
|
in
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
../modules/profiles/cloud.nix
|
|
];
|
|
|
|
networking.hostName = hostName;
|
|
|
|
services.nginx = {
|
|
recommendedTlsSettings = true;
|
|
recommendedOptimisation = true;
|
|
recommendedGzipSettings = true;
|
|
recommendedProxySettings = true;
|
|
|
|
#logError = "/dev/null";
|
|
appendHttpConfig = ''
|
|
access_log off;
|
|
'';
|
|
};
|
|
|
|
services.nginx.virtualHosts."hydra.${config.networking.domain}" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
root = "${pkgs.nginx}/html";
|
|
|
|
locations."/" = {
|
|
proxyPass = "http://10.3.3.3:3000/";
|
|
extraConfig = ''
|
|
proxy_redirect default;
|
|
'';
|
|
};
|
|
};
|
|
|
|
dadada.element.enable = true;
|
|
dadada.gitea.enable = true;
|
|
dadada.miniflux.enable = true;
|
|
dadada.weechat.enable = true;
|
|
dadada.homePage.enable = true;
|
|
dadada.share.enable = true;
|
|
dadada.backupClient = {
|
|
bs.enable = true;
|
|
};
|
|
|
|
networking.useDHCP = false;
|
|
networking.interfaces.ens3 = {
|
|
useDHCP = true;
|
|
ipv4.addresses = [{ address = "49.12.3.98"; prefixLength = 32; }];
|
|
};
|
|
|
|
networking.firewall = {
|
|
enable = true;
|
|
allowPing = true;
|
|
allowedTCPPorts = [
|
|
22 # SSH
|
|
80
|
|
443 # HTTPS
|
|
];
|
|
allowedUDPPorts = [
|
|
51234 # Wireguard
|
|
51235 # Wireguard
|
|
];
|
|
};
|
|
|
|
# Use the GRUB 2 boot loader.
|
|
boot.loader.grub.enable = true;
|
|
boot.loader.grub.device = "/dev/sda";
|
|
|
|
networking.interfaces."ens3".ipv6.addresses = [
|
|
{
|
|
address = "2a01:4f8:c17:1d70::";
|
|
prefixLength = 64;
|
|
}
|
|
];
|
|
|
|
networking.defaultGateway6 = {
|
|
address = "fe80::1";
|
|
interface = "ens3";
|
|
};
|
|
|
|
swapDevices = [
|
|
{
|
|
device = "/var/swapfile";
|
|
size = 4096;
|
|
}
|
|
];
|
|
|
|
networking.wireguard.interfaces."hydra" = {
|
|
ips = [ "10.3.3.1/24" ];
|
|
listenPort = 51235;
|
|
|
|
privateKeyFile = "/var/lib/wireguard/hydra";
|
|
|
|
peers = [
|
|
{
|
|
publicKey = "Kw2HVRb1zeA7NAzBvI3UzmOj45VqM358EBuZWdlAUDE=";
|
|
allowedIPs = [ "10.3.3.3/32" ];
|
|
persistentKeepalive = 25;
|
|
}
|
|
];
|
|
};
|
|
|
|
services.resolved.enable = true;
|
|
networking.resolvconf.useLocalResolver = true;
|
|
|
|
system.autoUpgrade.allowReboot = false;
|
|
|
|
system.stateVersion = "20.09";
|
|
}
|