Files
nevaforget 153bae47ea perf(network): nothing waits for a routable address at boot
NetworkManager-wait-online holds network-online.target until a connection is
routable, and multi-user.target sits behind it through docker.service, the only
active unit that pulls the target in.
2026-09-28 15:42:05 +02:00

35 lines
1.3 KiB
Nix

# ABOUTME: NetworkManager's OpenVPN half, Bluetooth, and the firewall.
# ABOUTME: The service declarations used to sit in modules/services.nix.
{ pkgs, ... }:
{
# networking.networkmanager.plugins defaults to an empty list, and without the
# OpenVPN plugin NetworkManager cannot create such a connection at all —
# neither nmcli, nmtui nor nm-applet offer the type. Counterpart to
# networkmanager-openvpn in packages/official.txt. nm-applet, installed below,
# is what hands the keyring password to the connection.
networking.networkmanager.plugins = [ pkgs.networkmanager-openvpn ];
# NetworkManager-wait-online holds network-online.target until a connection is
# routable, and multi-user.target waits behind it — measured at 10.6s in the
# journal, against 14.4s for the whole of userspace. Of the units that pull the
# target in, docker.service is the only active one; fwupd-refresh.service is
# not running.
systemd.services.NetworkManager-wait-online.enable = false;
hardware.bluetooth.enable = true;
services.blueman.enable = true;
# Replaces the ufw calls in post-install.sh.
networking.firewall.enable = true;
environment.systemPackages = with pkgs; [
# openvpn is the binary the NetworkManager plugin above drives; it also
# stands on its own for a config file.
networkmanagerapplet
blueman
openvpn
];
}