47 lines
1.1 KiB
Nix
47 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
inherit (lib) mkDefault;
|
|
cfg = config.networking.wifi;
|
|
in
|
|
{
|
|
options = {
|
|
networking.wifi.enable = lib.mkEnableOption "Enable wifi via NetworkManager";
|
|
};
|
|
config = lib.mkIf cfg.enable {
|
|
networking.networkmanager = {
|
|
enable = true;
|
|
# ensureProfiles = {
|
|
# profiles = {
|
|
# home-wifi = {
|
|
# id="home-wifi";
|
|
# permissions = "";
|
|
# type = "wifi";
|
|
# };
|
|
# wifi = {
|
|
# ssid = "";
|
|
# };
|
|
# wifi-security = {
|
|
# # auth-alg = "";
|
|
# # key-mgmt = "";
|
|
# psk = "";
|
|
# };
|
|
# };
|
|
# };
|
|
};
|
|
systemd.services.NetworkManager-wait-online.enable = mkDefault false;
|
|
|
|
/*
|
|
TODO: networking.networkmanager.wifi.backend = "iwd"; ?
|
|
TODO: powersave?
|
|
TODO: can I pre-configure my usual wifi networks with SSIDs and PSKs loaded from secrets?
|
|
*/
|
|
hardware.wirelessRegulatoryDatabase = true;
|
|
boot.extraModprobeConfig = ''
|
|
options cfg80211 ieee80211_regdom="US"
|
|
'';
|
|
};
|
|
}
|