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 = {
hardware = {
wireless.enable = true;
form.desktop = true;
};
};

View file

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