aboutsummaryrefslogtreecommitdiff
path: root/modules/nixos/hardware
diff options
context:
space:
mode:
authorschererleander <leander@schererleander.de>2026-01-09 16:57:15 +0100
committerschererleander <leander@schererleander.de>2026-01-09 23:13:49 +0100
commit3b5a73c436eb22e0cda59469263490705e149cb9 (patch)
treeae3f20ca6008b11f71247dfc6e2df8218de9b95c /modules/nixos/hardware
parentec45aae780da92e12cf82c5a32e336b14b7540ba (diff)
refactor: use flake-parts, change modules structure
Diffstat (limited to 'modules/nixos/hardware')
-rw-r--r--modules/nixos/hardware/audio/default.nix19
-rw-r--r--modules/nixos/hardware/bluetooth/default.nix24
-rw-r--r--modules/nixos/hardware/printer/default.nix20
-rw-r--r--modules/nixos/hardware/wooting/default.nix13
4 files changed, 76 insertions, 0 deletions
diff --git a/modules/nixos/hardware/audio/default.nix b/modules/nixos/hardware/audio/default.nix
new file mode 100644
index 0000000..66c9606
--- /dev/null
+++ b/modules/nixos/hardware/audio/default.nix
@@ -0,0 +1,19 @@
+{ config, lib, ... }:
+let
+ inherit (lib) mkEnableOption mkIf;
+ cfg = config.nx.hardware.audio;
+in
+{
+ options.nx.hardware.audio.enable = mkEnableOption "PipeWire audio";
+
+ config = mkIf cfg.enable {
+ security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ wireplumber.enable = true;
+ };
+ };
+}
diff --git a/modules/nixos/hardware/bluetooth/default.nix b/modules/nixos/hardware/bluetooth/default.nix
new file mode 100644
index 0000000..1bb9014
--- /dev/null
+++ b/modules/nixos/hardware/bluetooth/default.nix
@@ -0,0 +1,24 @@
+{ config, lib, ... }:
+let
+ inherit (lib) mkEnableOption mkIf;
+ cfg = config.nx.hardware.bluetooth;
+in
+{
+ options.nx.hardware.bluetooth.enable = mkEnableOption "Bluetooth support";
+
+ config = mkIf cfg.enable {
+ hardware.bluetooth = {
+ enable = true;
+ powerOnBoot = true;
+ settings = {
+ General = {
+ Experimental = true;
+ FastConnectable = true;
+ };
+ Policy = {
+ AutoEnable = true;
+ };
+ };
+ };
+ };
+}
diff --git a/modules/nixos/hardware/printer/default.nix b/modules/nixos/hardware/printer/default.nix
new file mode 100644
index 0000000..749c766
--- /dev/null
+++ b/modules/nixos/hardware/printer/default.nix
@@ -0,0 +1,20 @@
+{ config, lib, pkgs, ... }:
+let
+ inherit (lib) mkEnableOption mkIf;
+ cfg = config.nx.hardware.printer;
+in
+{
+ options.nx.hardware.printer.enable = mkEnableOption "printer support";
+
+ config = mkIf cfg.enable {
+ services.printing = {
+ enable = true;
+ drivers = [ pkgs.brlaser ];
+ };
+ services.avahi = {
+ enable = true;
+ nssmdns4 = true;
+ openFirewall = true;
+ };
+ };
+}
diff --git a/modules/nixos/hardware/wooting/default.nix b/modules/nixos/hardware/wooting/default.nix
new file mode 100644
index 0000000..62a4b78
--- /dev/null
+++ b/modules/nixos/hardware/wooting/default.nix
@@ -0,0 +1,13 @@
+{ config, lib, pkgs, ... }:
+let
+ inherit (lib) mkEnableOption mkIf;
+ cfg = config.nx.hardware.wooting;
+in
+{
+ options.nx.hardware.wooting.enable = mkEnableOption "Wooting keyboard support";
+
+ config = mkIf cfg.enable {
+ services.udev.packages = [ pkgs.wooting-udev-rules ];
+ environment.systemPackages = [ pkgs.wootility ];
+ };
+}