diff --git a/hosts/Infini-DESKTOP/default.nix b/hosts/Infini-DESKTOP/default.nix index 0c73aae..2771664 100644 --- a/hosts/Infini-DESKTOP/default.nix +++ b/hosts/Infini-DESKTOP/default.nix @@ -30,6 +30,7 @@ modules = { hardware = { + wireless.enable = true; form.desktop = true; }; }; diff --git a/modules/modules/hardware/form.nix b/modules/modules/hardware/form.nix index 22fc27f..082a32a 100644 --- a/modules/modules/hardware/form.nix +++ b/modules/modules/hardware/form.nix @@ -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 { }) ]; } diff --git a/modules/modules/hardware/wireless.nix b/modules/modules/hardware/wireless.nix new file mode 100644 index 0000000..ab00a46 --- /dev/null +++ b/modules/modules/hardware/wireless.nix @@ -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; + }; + }) + ]; +} diff --git a/modules/modules/networking.nix b/modules/modules/networking.nix new file mode 100644 index 0000000..d29d3aa --- /dev/null +++ b/modules/modules/networking.nix @@ -0,0 +1,11 @@ +{ config, lib, ... }: +with lib; +with lib.hlissner; +{ + options = { }; + config = mkMerge [ + { + networking.useDHCP = false; + } + ]; +} diff --git a/profiles/hardware/wireless.nix b/profiles/hardware/wireless.nix deleted file mode 100644 index 30d1874..0000000 --- a/profiles/hardware/wireless.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ ... }: { - networking = { - useDHCP = false; - - wireless = { - enable = true; - userControlled.enable = true; - }; - }; - - hardware.bluetooth.enable = true; - services.blueman.enable = true; -}