diff options
Diffstat (limited to 'modules/hardware')
| -rw-r--r-- | modules/hardware/audio.nix | 22 | ||||
| -rw-r--r-- | modules/hardware/bluetooth.nix | 2 | ||||
| -rw-r--r-- | modules/hardware/gpu.nix | 44 | ||||
| -rw-r--r-- | modules/hardware/printer.nix | 21 |
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; + }; + } + ]); +} |
