hardware/wireless: add wireless, refactor form

This commit is contained in:
Infinidoge 2021-11-21 13:43:24 -05:00
parent 473fa9a1a7
commit 51c2a9467c
5 changed files with 63 additions and 18 deletions

View file

@ -30,6 +30,7 @@
modules = { modules = {
hardware = { hardware = {
wireless.enable = true;
form.desktop = true; form.desktop = true;
}; };
}; };

View file

@ -15,10 +15,13 @@ in
config = mkMerge [ config = mkMerge [
(mkIf cfg.desktop { (mkIf cfg.desktop {
modules.hardware.audio.enable = true; modules.hardware.audio.enable = mkDefault true;
}) })
(mkIf cfg.laptop { (mkIf cfg.laptop {
modules.hardware.audio.enable = true; modules.hardware = {
wireless.enable = mkDefault true;
audio.enable = mkDefault true;
};
services = { services = {
xserver.libinput = { xserver.libinput = {
@ -26,7 +29,7 @@ in
touchpad.naturalScrolling = true; touchpad.naturalScrolling = true;
}; };
logind.lidSwitch = "ignore"; logind.lidSwitch = mkDefault "ignore";
}; };
environment = { environment = {
@ -36,8 +39,16 @@ in
}) })
(mkIf cfg.portable { }) (mkIf cfg.portable {
(mkIf cfg.raspi { }) modules.hardware = {
wireless.enable = mkDefault true;
};
})
(mkIf cfg.raspi {
modules.hardware = {
wireless.enable = mkDefault true;
};
})
(mkIf cfg.server { }) (mkIf cfg.server { })
]; ];
} }

View file

@ -0,0 +1,35 @@
{ config, lib, ... }:
with lib;
with lib.hlissner;
let
cfg = config.modules.hardware.wireless;
in
{
options.modules.hardware.wireless = {
enable = mkBoolOpt false;
bluetooth = {
enable = mkBoolOpt false;
blueman.enable = mkBoolOpt true;
};
wifi.enable = mkBoolOpt false;
};
config = mkMerge [
(mkIf cfg.enable {
modules.hardware.wireless = {
bluetooth.enable = true;
wifi.enable = true;
};
})
(mkIf cfg.bluetooth.enable {
hardware.bluetooth.enable = true;
services.blueman.enable = cfg.bluetooth.blueman.enable;
})
(mkIf cfg.wifi.enable {
networking.wireless = {
enable = true;
userControlled.enable = true;
};
})
];
}

View file

@ -0,0 +1,11 @@
{ config, lib, ... }:
with lib;
with lib.hlissner;
{
options = { };
config = mkMerge [
{
networking.useDHCP = false;
}
];
}

View file

@ -1,13 +0,0 @@
{ ... }: {
networking = {
useDHCP = false;
wireless = {
enable = true;
userControlled.enable = true;
};
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
}