81 lines
1.6 KiB
Nix
81 lines
1.6 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
config = {
|
|
environment = {
|
|
etc."nixos/tailscale-authkey".text = ''
|
|
tskey-auth-k1tfJLTnGB11CNTRL-HhnegtfNzQ3G8h71SC2DR38PFXwseQiu
|
|
'';
|
|
|
|
systemPackages = with pkgs; [
|
|
ethtool
|
|
];
|
|
};
|
|
|
|
homelab = {
|
|
apps = {
|
|
speedtest.enable = true;
|
|
technitiumDNS.enable = true;
|
|
};
|
|
virtualisation.guest.enable = true;
|
|
};
|
|
|
|
networking = {
|
|
hostName = "Binnenpost";
|
|
hostId = "aaaa1001";
|
|
domain = "depeuter.dev";
|
|
|
|
useDHCP = false;
|
|
|
|
enableIPv6 = true;
|
|
|
|
defaultGateway = {
|
|
address = "192.168.0.1";
|
|
interface = "ens18";
|
|
};
|
|
|
|
# Open ports in the firewall.
|
|
firewall = {
|
|
enable = true;
|
|
};
|
|
|
|
interfaces.ens18 = {
|
|
ipv4.addresses = [
|
|
{
|
|
address = "192.168.0.89";
|
|
prefixLength = 24;
|
|
}
|
|
];
|
|
};
|
|
|
|
nameservers = [
|
|
"1.1.1.1" # Cloudflare
|
|
"1.0.0.1" # Cloudflare
|
|
];
|
|
};
|
|
|
|
services = {
|
|
networkd-dispatcher = {
|
|
enable = true;
|
|
rules."50-tailscale" = {
|
|
onState = ["routable"];
|
|
script = ''
|
|
${pkgs.ethtool}/bin/ethtool -K ens18 rx-udp-gro-forwarding on rx-gro-list off
|
|
'';
|
|
};
|
|
};
|
|
|
|
tailscale = {
|
|
enable = true;
|
|
useRoutingFeatures = "server";
|
|
authKeyFile = "/etc/nixos/tailscale-authkey";
|
|
extraUpFlags = [
|
|
"--advertise-routes=192.168.0.0/24"
|
|
"--exit-node"
|
|
];
|
|
};
|
|
};
|
|
|
|
system.stateVersion = "24.05";
|
|
};
|
|
}
|