nichts/nyx/modules/options/system/networking/default.nix
2024-04-09 23:11:33 +02:00

36 lines
1 KiB
Nix

{lib, ...}: let
inherit (lib) mkEnableOption mkOption types;
in {
imports = [
./nftables.nix
./tailscale.nix
];
options.modules.system.networking = {
nftables.enable = mkEnableOption "nftables firewall";
tarpit.enable = mkEnableOption "endlessh-go tarpit";
optimizeTcp = mkEnableOption "TCP optimizations";
wireless = {
allowImperative = mkEnableOption ''
imperative networking via wpa_cli.
Enabling this option will make it so that users in the wheel group will
be able to manage networking via wpa_cli.
'';
backend = mkOption {
type = types.enum ["iwd" "wpa_supplicant"];
default = "wpa_supplicant";
description = ''
Backend that will be used for wireless connections using either
`networking.wireless` or `networking.networkmanager.wifi.backend`
Defaults to wpa_supplicant until iwd is stable.
'';
};
};
# TODO: optionally use encrypted DNS
# encryptDns = mkOption {};
};
}