nixos-config/modules/system/services/general/wireguard/default.nix
2025-04-16 22:14:31 -04:00

28 lines
692 B
Nix

{ config, lib, pkgs, ... }:
{
options.services.wg.client.enable = lib.mkEnableOption "Enable Wireguard client";
config = lib.mkIf config.services.wg.client.enable {
boot.kernelModules = [ "wireguard" ];
systemd.network = {
netdevs = {
"10-wg0" = {
netdevConfig = {
Kind = "wireguard";
Name = "wg0";
MTUBytes = "1300";
};
wireguardConfig = {
PrivateKeyFile = pkgs.writeText "wgclientsecret" config.secrets.wg.clientKey;
ListenPort = 9918;
};
};
};
networks."wg0" = {
matchConfig.Name = "wg0";
DHCP = "no";
};
};
};
}