36 lines
777 B
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";
|
|
};
|
|
}
|