1
0
mirror of https://git.oat.zone/dark-firepit/dotfiles synced 2024-11-23 02:12:26 +01:00
git.oat.zone--dark-firepit-.../hosts/lucent-firepit/wireguardInterface.nix

23 lines
450 B
Nix
Raw Normal View History

2023-04-21 15:40:27 +02:00
{ lib, pkgs, config, ... }:
with lib;
let
peerKeys = import ./authorizedKeys.nix;
wgKeys = filter (hasAttr "wg") peerKeys;
in {
ips = [ "10.100.0.1/24" ];
privateKeyFile = "/etc/wg0.keys/wg0";
listenPort = 51820;
peers = genList (n:
let
keychain = elemAt wgKeys n;
ip = "10.100.0.${toString (n+2)}/32";
in {
publicKey = trace "${keychain.hostname}: ${ip}" keychain.wg;
allowedIPs = [ ip ];
}) (length wgKeys);
}