2024-07-20 17:35:00 +03:00
|
|
|
{ config, pkgs, ... }:
|
2024-07-11 16:43:26 +03:00
|
|
|
{
|
2024-08-31 17:19:50 +03:00
|
|
|
networking = {
|
|
|
|
hostName = "lithium";
|
|
|
|
|
|
|
|
firewall.allowedUDPPorts = [ 51820 ];
|
|
|
|
|
2024-09-24 20:01:29 +03:00
|
|
|
wg-quick.interfaces = {
|
|
|
|
wg0 = {
|
|
|
|
autostart = false;
|
|
|
|
address = [ "172.16.0.4/24" ];
|
|
|
|
dns = [
|
|
|
|
"192.168.0.1"
|
|
|
|
"vsinerva.fi"
|
|
|
|
];
|
|
|
|
privateKeyFile = "/root/wireguard-keys/privatekey-home";
|
|
|
|
listenPort = 51820;
|
2024-08-31 17:19:50 +03:00
|
|
|
|
2024-09-24 20:01:29 +03:00
|
|
|
peers = [
|
|
|
|
{
|
|
|
|
publicKey = "f9QoYPxyaxylUcOI9cE9fE9DJoEX4c6GUtr4p+rsd34=";
|
|
|
|
allowedIPs = [ "0.0.0.0/0" ];
|
|
|
|
endpoint = "wg.vsinerva.fi:51820";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
wg1 = {
|
|
|
|
autostart = true;
|
|
|
|
address = [ "fd08:d473:bcca:f0::3/64" ];
|
|
|
|
dns = [
|
|
|
|
"fd08:d473:bcca::1"
|
|
|
|
"vsinerva.fi"
|
|
|
|
];
|
|
|
|
privateKeyFile = "/root/wireguard-keys/privatekey-home";
|
|
|
|
listenPort = 51820;
|
|
|
|
|
|
|
|
peers = [
|
|
|
|
{
|
|
|
|
publicKey = "f9QoYPxyaxylUcOI9cE9fE9DJoEX4c6GUtr4p+rsd34=";
|
|
|
|
allowedIPs = [
|
|
|
|
"fd08:d473:bcca::/64"
|
|
|
|
"fd08:d473:bcca:f0::/64"
|
|
|
|
];
|
|
|
|
endpoint = "wg.vsinerva.fi:51821";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2024-08-31 17:19:50 +03:00
|
|
|
};
|
|
|
|
};
|
|
|
|
# Dirty hack to fix autostart failing due to DNS lookups
|
2024-09-24 20:01:29 +03:00
|
|
|
systemd.services."wg-quick-wg1".serviceConfig = {
|
2024-08-31 17:19:50 +03:00
|
|
|
Restart = "on-failure";
|
|
|
|
RestartSec = "1s";
|
|
|
|
};
|
|
|
|
|
|
|
|
services.openssh.enable = pkgs.lib.mkForce false;
|
|
|
|
services.fail2ban.enable = pkgs.lib.mkForce false;
|
2024-07-11 16:43:26 +03:00
|
|
|
|
2024-07-11 16:45:40 +03:00
|
|
|
imports = [
|
2024-07-11 16:43:26 +03:00
|
|
|
../base.nix
|
|
|
|
../users/vili.nix
|
|
|
|
../desktop.nix
|
|
|
|
../development.nix
|
2024-08-31 18:13:04 +03:00
|
|
|
../services/syncthing.nix
|
2024-07-11 16:43:26 +03:00
|
|
|
../services/redshift.nix
|
2024-08-31 17:19:50 +03:00
|
|
|
../hardware-specific/keychron-q11.nix
|
|
|
|
../hardware-specific/trackball.nix
|
2024-07-11 16:43:26 +03:00
|
|
|
../hardware-specific/usb-automount.nix
|
|
|
|
];
|
2024-07-31 22:50:08 +03:00
|
|
|
|
2024-09-09 15:52:21 +03:00
|
|
|
system.autoUpgrade.allowReboot = pkgs.lib.mkForce false;
|
|
|
|
|
2024-08-28 11:52:00 +03:00
|
|
|
swapDevices = pkgs.lib.mkForce [
|
|
|
|
{
|
|
|
|
device = "/var/lib/swapfile";
|
|
|
|
size = 16 * 1024;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
2024-07-31 22:50:08 +03:00
|
|
|
boot = {
|
2024-08-31 17:19:50 +03:00
|
|
|
initrd.luks.devices."nixos" = {
|
|
|
|
keyFileSize = 8192;
|
|
|
|
keyFile = "/dev/disk/by-id/usb-Kingston_DataTraveler_3.0_E0D55EA5741216B0A93E02B3-0:0";
|
|
|
|
fallbackToPassword = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
resumeDevice = "/dev/mapper/nixos";
|
|
|
|
kernelParams = [ "resume_offset=39292928" ];
|
2024-07-31 22:50:08 +03:00
|
|
|
};
|
2024-07-11 16:43:26 +03:00
|
|
|
}
|