.hive/modules/programs/creative.nix

75 lines
1.8 KiB
Nix

{
config,
lib,
pkgs,
...
}: let
cfg = config.hive.programs.creative;
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]
++ lib.optionals cfg.video-editing-heavy [
davinci-resolve
hive.bulk-transcode
kdePackages.kdenlive
]
++ lib.optional cfg.daws bitwig-studio-latest;
};
}