summaryrefslogtreecommitdiffstats
path: root/modules/hardware
diff options
context:
space:
mode:
Diffstat (limited to 'modules/hardware')
-rw-r--r--modules/hardware/audio.nix22
-rw-r--r--modules/hardware/bluetooth.nix2
-rw-r--r--modules/hardware/gpu.nix44
-rw-r--r--modules/hardware/printer.nix21
4 files changed, 51 insertions, 38 deletions
diff --git a/modules/hardware/audio.nix b/modules/hardware/audio.nix
index 3ffa32a..a674597 100644
--- a/modules/hardware/audio.nix
+++ b/modules/hardware/audio.nix
@@ -23,22 +23,18 @@ in {
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
+
+ wireplumber.extraConfig.bluetoothEnhancements = {
+ "monitor.bluez.properties" = {
+ "bluez5.enable-sbc-xq" = true;
+ "bluez5.enable-msbc" = true;
+ "bluez5.enable-hw-volume" = true;
+ };
+ };
};
user.extraGroups = ["audio"];
home.packages = [pkgs.pavucontrol];
- }
- (lib.mkIf (device.hasBluetooth) {
- home.configFile = {
- "wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
- bluez_monitor.properties = {
- ["bluez5.enable-sbc-xq"] = true,
- ["bluez5.enable-msbc"] = true,
- ["bluez5.enable-hw-volume"] = true,
- ["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]"
- }
- '';
- };
- })
+ }
]);
}
diff --git a/modules/hardware/bluetooth.nix b/modules/hardware/bluetooth.nix
index 7f835bf..c5da0fa 100644
--- a/modules/hardware/bluetooth.nix
+++ b/modules/hardware/bluetooth.nix
@@ -18,9 +18,9 @@ in {
config = lib.mkIf (bluetoothConfig.enable && device.hasBluetooth) {
hardware.bluetooth = {
enable = true;
- package = pkgs.bluez;
powerOnBoot = true;
};
+ services.blueman.enable = true;
user.extraGroups = ["bluetooth"];
};
}
diff --git a/modules/hardware/gpu.nix b/modules/hardware/gpu.nix
index fd696ab..32fdf68 100644
--- a/modules/hardware/gpu.nix
+++ b/modules/hardware/gpu.nix
@@ -17,45 +17,41 @@ in {
config = lib.mkIf (gpuConfig.enable) (lib.mkMerge [
{
- hardware.opengl = {
+ hardware.graphics = {
enable = true;
- driSupport = true;
- driSupport32Bit = true;
};
}
(lib.mkIf (device.gpu == "intel") {
boot.initrd.kernelModules = ["i915"];
services.xserver.videoDrivers = ["modesetting"];
- hardware.opengl.extraPackages = [
+ hardware.graphics.extraPackages = [
pkgs.intel-compute-runtime
pkgs.intel-media-driver
- pkgs.vaapiIntel
- pkgs.vaapiVdpau
+ pkgs.intel-vaapi-driver
+ pkgs.libva-vdpau-driver
pkgs.libvdpau-va-gl
];
environment.variables.VDPAU_DRIVER = "va_gl";
})
(lib.mkIf (device.gpu == "nvidia") {
- services.xserver.videoDrivers = ["nvidia"];
- hardware.nvidia = {
- modesetting.enable = true;
- powerManagement.enable = false;
- powerManagement.finegrained = false;
- open = false;
- nvidiaSettings = true;
- package = config.boot.kernelPackages.nvidiaPackages.production;
- };
- boot.initrd.kernelModules = [
- "nvidia"
- "nvidia_modeset"
- "nvidia_uvm"
- "nvidia_drm"
- ];
- boot.extraModprobeConfig = ''
- options nvidia-drm modeset=1
- '';
+ hardware.graphics.extraPackages = with pkgs; [ nvidia-vaapi-driver ];
+ services.xserver.videoDrivers = ["nvidia"];
+
+ hardware.nvidia = {
+ modesetting.enable = true;
+
+ powerManagement.enable = true;
+ powerManagement.finegrained = false;
+
+ open = true;
+ nvidiaSettings = true;
+ };
+
+ environment.systemPackages = with pkgs; [
+ nvtopPackages.nvidia
+ ];
})
]);
}
diff --git a/modules/hardware/printer.nix b/modules/hardware/printer.nix
new file mode 100644
index 0000000..f4efd99
--- /dev/null
+++ b/modules/hardware/printer.nix
@@ -0,0 +1,21 @@
+{
+ config,
+ options,
+ lib,
+ pkgs,
+ ...
+}: let
+ device = config.modules.device;
+in {
+
+ config = lib.mkIf (device.hasPrinter) (lib.mkMerge [
+ {
+ services.printing.enable = true;
+ services.avahi = {
+ enable = true;
+ nssmdns4 = true;
+ openFirewall = true;
+ };
+ }
+ ]);
+}