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.
35 lines
1.3 KiB
Nix
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
|
|
];
|
|
}
|