42 lines
1 KiB
Nix
42 lines
1 KiB
Nix
## Controls networking
|
|
{ inputs, config, pkgs, ... }:
|
|
{
|
|
networking = {
|
|
networkmanager = {
|
|
enable = true;
|
|
};
|
|
nameservers = [ "9.9.9.9" ]; # Backup is 1s for Cloudflare
|
|
enableIPv6 = false; # IPv6 has been fucky every single time I've tried to use it
|
|
nat = {
|
|
enable = true;
|
|
internalInterfaces = [ "ve-+" ];
|
|
externalInterface = "wlan0";
|
|
};
|
|
firewall = {
|
|
enable = true;
|
|
# open ports in firewall below
|
|
# allowedTCPPorts = [ ... ];
|
|
# allowedUDPPorts = [ ... ];
|
|
};
|
|
};
|
|
services = {
|
|
# LAN discovery, necessary for printing
|
|
avahi = {
|
|
enable = true;
|
|
nssmdns4 = true;
|
|
openFirewall = true;
|
|
};
|
|
# VPN
|
|
mullvad-vpn.enable = true;
|
|
# Bluetooth
|
|
blueman.enable = false;
|
|
# Printing
|
|
printing = {
|
|
enable = true;
|
|
drivers = [ pkgs.gutenprint pkgs.cnijfilter2 pkgs.hplip pkgs.hplipWithPlugin];
|
|
};
|
|
};
|
|
# Bluetooth hardware
|
|
hardware.bluetooth.enable = false;
|
|
hardware.bluetooth.powerOnBoot = false;
|
|
}
|