From ed2550a41c8429a1d2fe897deb878717c2ebc3d1 Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Sun, 18 Jan 2026 08:07:27 -0600 Subject: initial wireguard configuration --- modules/wireguard/options.nix | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 modules/wireguard/options.nix (limited to 'modules/wireguard/options.nix') diff --git a/modules/wireguard/options.nix b/modules/wireguard/options.nix new file mode 100644 index 0000000..8e5398e --- /dev/null +++ b/modules/wireguard/options.nix @@ -0,0 +1,40 @@ +{lib, ...}: let + inherit (lib) mkOption mkEnableOption; +in { + options = { + collinux.wireguard = { + enable = mkEnableOption "wireguard"; + ip = mkOption { + type = lib.types.str; + description = "host's ip address on the wireguard network (with cidr)"; + }; + gateway = mkOption { + type = lib.types.str; + description = "host's gateway"; + }; + privateKeyFile = mkOption { + type = lib.types.str; + description = "path to local private key file"; + example = "/run/secretd.d/wireguard-key"; + }; + peers = mkOption { + type = lib.types.attrsOf (lib.types.submodule { + options = { + publicKey = mkOption { + type = lib.types.str; + description = "peer's public key"; + }; + ip = mkOption { + type = lib.types.str; + description = "peer's IP address"; + }; + endpoint = mkOption { + type = lib.types.str; + description = "peer's endpoint"; + }; + }; + }); + }; + }; + }; +} -- cgit v1.3.1