summaryrefslogtreecommitdiff
path: root/sys/core/audio.nix
blob: 234b6bdb23358a1190853c9bb45e2781d5f80ca2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{ config, lib, pkgs, username, ... }:
let
  cfg = config.sys.core.audio;
in
{
  options.sys.core.audio.enable = lib.mkEnableOption "audio support";
  config = lib.mkIf cfg.enable {
    services = {
      pipewire = {
        enable = true;
        audio.enable = true;
        pulse.enable = true;
        alsa.enable = true;
        alsa.support32Bit = true;
        jack.enable = true;
        wireplumber.enable = true;
      };
      playerctld.enable = true;
      spotifyd.enable = true;
    };

    security.rtkit.enable = true;
    hardware.enableAllFirmware = true;

    environment.systemPackages = with pkgs; [
      helvum
      alsa-utils
    ];

    home-manager.users.${username}.hm.soft.easyeffects.enable = true;
  };
}