{self, ...}: { flake.nixosModules.creative = { config, lib, pkgs, ... }: let cfg = config.hive.programs.creative; avidemux-wayland-fix = pkgs.avidemux.overrideAttrs (prev: { installPhase = (prev.installPhase or "") + '' wrapProgram $out/bin/avidemux3_qt5 \ --add-flags "--platform" \ --add-flags "xcb" ''; }); in { options.hive.programs.creative = { 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 raw processing programs. ''; }; 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. ''; }; }; imports = [ self.nixosModules.bulk-transcode-overlay self.nixosModules.unstable-overlay ]; config = { environment.systemPackages = with pkgs; lib.optionals cfg.image-editing [gimp krita drawio] ++ lib.optional cfg.image-management digikam ++ lib.optionals cfg.image-raw-processing [ enblend-enfuse hdrmerge hugin rawtherapee unstable.darktable unstable.rapidraw ] ++ lib.optionals cfg.video-editing-light [ avidemux-wayland-fix ffmpeg bulk-transcode losslesscut-bin ] ++ lib.optionals cfg.video-editing-heavy [ davinci-resolve kdePackages.kdenlive obs-studio ]; }; }; }