nixfiles/system/package-sets/multimedia.nix

36 lines
777 B
Nix

{
config,
lib,
pkgs,
...
}: let
cfg = config.nixfiles.packageSets.multimedia;
inherit (lib) optional optionals mkEnableOption mkIf;
nvidiaEnabled = lib.elem "nvidia" config.services.xserver.videoDrivers;
in {
options.nixfiles.packageSets.multimedia = {
enable = mkEnableOption "multimedia packages";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs;
optionals config.services.xserver.enable [
mpv
gimp
krita
inkscape
obs-studio
]
++ [
gallery-dl
yt-dlp
imagemagick
pngquant
gifski
ffmpeg
];
# needed for NVENC to work in OBS Studio and FFmpeg
boot.kernelModules = optional nvidiaEnabled "nvidia_uvm";
};
}