{ lib, config, pkgs, ... }: let psCfg = config.pub-solar; xdg = config.home-manager.users."${psCfg.user.name}".xdg; in { users.users."${psCfg.user.name}" = { extraGroups = ["audio"]; packages = with pkgs; [ # easyeffects, e.g. for microphone noise filtering easyeffects mu pavucontrol pa_applet playerctl # Needed for pactl cmd, until pw-cli is more mature (vol up/down hotkeys?) pulseaudio vimpc ]; }; home-manager.users."${psCfg.user.name}" = { xdg.configFile."vimpc/vimpcrc".source = ./.config/vimpc/vimpcrc; systemd.user.services.easyeffects = import ./easyeffects.service.nix pkgs; }; # rtkit is optional but recommended security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; # https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PipeWire#setting-sample-rates extraConfig.pipewire = { "10-clock-rate" = { "context.properties" = { default = { "clock.rate" = 48000; # Pipewire default "clock.allowed-rates" = [ 44100 48000 ]; }; }; }; }; }; }