This commit is contained in:
muon 2026-01-01 17:00:06 +00:00
parent 02e6c06f6f
commit debd6d38cd

View file

@ -1,10 +1,13 @@
{ pkgs, lib, config, ... }:
let
{
pkgs,
lib,
config,
...
}: let
cfg = config.mods;
wg = cfg.wireguard;
in with lib; {
in
with lib; {
options.mods = {
i2p.enable = mkEnableOption "enables i2p network";
tailscale.enable = mkEnableOption "enables tailscale";
@ -19,7 +22,8 @@ in with lib; {
username = "${config.mods.user.name}";
folder = "${config.users.users.${username}.home}/documents/openvpn/";
file = "${config.mods.user.name}.ovpn";
in mkOption {
in
mkOption {
description = "the config location";
default = "${folder}${file}";
};
@ -28,7 +32,7 @@ in with lib; {
config = {
networking.networkmanager.enable = true;
# networking.nameservers = [ "45.90.28.97" "45.90.30.97" ];
networking.nameservers = [ "194.242.2.4#base.dns.mullvad.net" ];
networking.nameservers = ["194.242.2.4#base.dns.mullvad.net"];
# services.resolved = {
# enable = true;
# dnssec = "false";
@ -65,27 +69,28 @@ in with lib; {
};
};
networking.firewall.allowedUDPPorts = [ 51820 16261 ];
networking.firewall.allowedUDPPorts = [51820 16261];
networking.wg-quick.interfaces = lib.mkIf (wg.id != null) {
wg0 = {
address = [
"10.0.0.${toString wg.id}/24"
"fdc9:281f:04d7:9ee9::${toString wg.id}/64"
];
dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
# dns = ["10.0.0.1" "fdc9:281f:04d7:9ee9::1"];
mtu = 1500;
privateKeyFile = "/home/muon/wireguard-keys/private";
peers = [{
peers = [
{
publicKey = "2RF8GmTZwQdzVm2l2piYy6U0qiMU3wSxC7Lt8urAjwA=";
presharedKeyFile =
"/home/muon/wireguard-keys/psk-${config.networking.hostName}";
allowedIPs = [ "10.0.0.${toString wg.id}/24" ];
presharedKeyFile = "/home/muon/wireguard-keys/psk-${config.networking.hostName}";
allowedIPs = ["10.0.0.${toString wg.id}/24"];
# allowedIPs = [ "0.0.0.0/0" ];
# ip route add 93.95.230.11 via 192.168.0.1
endpoint = "93.95.230.11:51820";
persistentKeepalive = 25;
}];
}
];
};
};
@ -98,6 +103,5 @@ in with lib; {
# gateway =
# "${pkgs.networkmanager}/bin/nmcli dev show ${interface} | ${pkgs.gnugrep}/bin/fgrep IP4.GATEWAY | ${pkgs.awk}/bin/awk {print $2}";
};
}
}