Files
dotfiles/home/profiles/audio.nix
System administrator a8254832dd audio-and-unlock
2025-07-15 21:24:52 +02:00

54 lines
1.2 KiB
Nix

{pkgs, config, lib, ...}:
let
cfg = config.profiles.audio;
# audio-plugins = pkgs.symlinkJoin {
# name = "audio-plugins";
# stripPrefix = "/lib";
# paths = [
# pkgs.lsp-plugins
# pkgs.rnnoise-plugin
# ];
# };
audio-plugins = pkgs.buildEnv {
name = "audio-plugins";
paths = [
pkgs.lsp-plugins
# pkgs.calf
# pkgs.tal-plugins
pkgs.rnnoise-plugin
];
# pathsToLink = [ "/lib/lv2" "/lib/ladspa" "/lib/clap" "/lib/vst" "/lib/vst3" ];
};
in
{
options.profiles.audio = {
enable = lib.mkOption {
default = config.profiles.xsession.enable;
defaultText = "xsession.enable";
};
fancy = lib.mkOption {
default = cfg.enable;
defaultText = "audio.enable";
};
};
config = lib.mkIf config.profiles.audio.enable {
home.packages = with pkgs; [
] ++ lib.optionals config.profiles.gui.enable (with pkgs; [
pavucontrol
]) ++ lib.optionals (config.nixpkgs.config.allowUnfree && config.profiles.gui.enable) (with pkgs; [
spotify
]) ++ lib.optionals cfg.fancy (with pkgs; [
carla
]);
home.file."audio-plugins" = lib.mkIf cfg.fancy {
source = "${audio-plugins}/lib";
target = "audio-plugins";
};
};
}