flake/modules/nixos/core/network.nix
2024-07-13 23:13:23 +00:00

24 lines
754 B
Nix

{ pkgs, lib, config, ... }: {
options.mods = {
tailscale.enable = lib.mkEnableOption "enables tailscale";
openvpn.enable = lib.mkEnableOption "enables openvpn config";
openvpn.config = let
username = "${config.mods.user.name}";
folder = "${config.users.users.${username}.home}/documents/openvpn/";
file = "${config.mods.user.name}.ovpn";
in lib.mkOption {
description = "the config location";
default = "${folder}${file}";
};
};
config = {
networking.networkmanager.enable = true;
services.tailscale.enable = config.mods.tailscale.enable;
services.openvpn.servers = lib.mkIf config.mods.openvpn.enable {
remote.config = ''config ${config.mods.openvpn.config}'';
};
};
}