{ config, lib, pkgs, ... }: let cfg = config.hive.programs.creative; avidemux-wayland-fix = pkgs.avidemux.overrideAttrs (prev: { installPhase = (prev.installPhase or "") + '' wrapProgram $out/bin/avidemux \ --add-flags "--platform" \ --add-flags "xcb" ''; }); in { options.hive.programs.creative = { enable = lib.mkEnableOption "Enable creative programs (video/image editing, etc.)"; image-management = lib.mkOption { type = lib.types.bool; default = true; description = '' Enable image management tools. ''; }; image-editing = lib.mkOption { type = lib.types.bool; default = false; description = '' Enable image editing tools. ''; }; image-raw-processing = lib.mkOption { type = lib.types.bool; default = false; description = '' Enable Darktable for raw processing. ''; }; video-editing-light = lib.mkOption { type = lib.types.bool; default = false; description = '' Enable light video editing tools. ''; }; video-editing-heavy = lib.mkOption { type = lib.types.bool; default = false; description = '' Enable heavy video editing tools. ''; }; daws = lib.mkOption { type = lib.types.bool; default = false; description = '' Enable DAWs (currently bitwig beta) ''; }; }; config = lib.mkIf cfg.enable { environment.systemPackages = with pkgs; lib.optionals cfg.image-editing [gimp krita drawio] ++ lib.optional cfg.image-management digikam ++ lib.optionals cfg.image-raw-processing [ darktable rawtherapee enblend-enfuse hdrmerge hugin ] ++ lib.optionals cfg.video-editing-light [ ffmpeg losslesscut-bin avidemux-wayland-fix ] ++ lib.optionals cfg.video-editing-heavy [ davinci-resolve hive.bulk-transcode kdePackages.kdenlive ] ++ lib.optional cfg.daws bitwig-studio-latest; }; }