diff options
Diffstat (limited to '')
-rw-r--r-- | modules/default.nix | 1 | ||||
-rw-r--r-- | modules/hardware/default.nix | 5 | ||||
-rw-r--r-- | modules/hardware/sound/default.nix | 35 |
3 files changed, 41 insertions, 0 deletions
diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..5ec7ef8 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1 @@ +{ ... }: { imports = [ ./hardware ]; } diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix new file mode 100644 index 0000000..79b062e --- /dev/null +++ b/modules/hardware/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + imports = [ ./sound ]; +} diff --git a/modules/hardware/sound/default.nix b/modules/hardware/sound/default.nix new file mode 100644 index 0000000..95e5ebc --- /dev/null +++ b/modules/hardware/sound/default.nix @@ -0,0 +1,35 @@ +{ config, lib, pkgs, ... }: +let cfg = config.my.hardware.sound; +in { + options.my.hardware.sound = with lib; { + pipewire = { enable = mkEnableOption "pipewire configuration"; }; + }; + + config = lib.mkIf cfg.pipewire.enable { + sound.enable = true; + + # RealtimeKit is recommended + security.rtkit.enable = true; + + environment.systemPackages = with pkgs; [ + # We install it to get access to pactl. It isn't enabled or run as a service. + pulseaudio + pavucontrol + ]; + + services.pipewire = { + enable = true; + + alsa = { + enable = true; + support32Bit = true; + }; + + pulse = { enable = true; }; + + jack = { enable = true; }; + }; + + hardware.pulseaudio.enable = false; + }; +} |