48 lines
1.1 KiB
Nix
48 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"
|
||
|
'';
|
||
|
};
|
||
|
}
|