88 lines
2.1 KiB
Nix
88 lines
2.1 KiB
Nix
{
|
|
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;
|
|
};
|
|
}
|