From 211978092dc38a53656226f3016bafbad3193fde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20R=C3=B6ger?= Date: Wed, 25 Jun 2025 00:58:18 +0200 Subject: [PATCH] System Gen75 @ 2025-06-25-00:58:17 by jonas@monolith --- home/jonas@comfy-station.nix | 6 ++++ home/jroeger.nix | 4 +++ hosts/monolith/configuration.nix | 18 +++++----- modules/default.nix | 1 + modules/programs/creative.nix | 60 ++++++++++++++++++++++++++++++++ 5 files changed, 79 insertions(+), 10 deletions(-) create mode 100644 modules/programs/creative.nix diff --git a/home/jonas@comfy-station.nix b/home/jonas@comfy-station.nix index 3765728..6c4c98d 100644 --- a/home/jonas@comfy-station.nix +++ b/home/jonas@comfy-station.nix @@ -40,6 +40,12 @@ hive.doom.enableCopilot = true; hive.doom.withNixPkgs = true; hive.doom.withShellPkgs = true; + hive.programs.creative = { + enable = true; + image-management = true; + image-raw-processing = true; + video-editing-light = true; + }; # Make session variables available in systemd units # SEE: https://github.com/nix-community/home-manager/pull/5543 diff --git a/home/jroeger.nix b/home/jroeger.nix index c6d7085..86cd977 100644 --- a/home/jroeger.nix +++ b/home/jroeger.nix @@ -16,6 +16,10 @@ hive.doom.withNixPkgs = true; hive.doom.withShellPkgs = true; hive.doom.withCXXPkgs = true; + hive.programs.creative = { + enable = true; + video-editing-light = true; + }; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release diff --git a/hosts/monolith/configuration.nix b/hosts/monolith/configuration.nix index 9ad1a30..fc66990 100644 --- a/hosts/monolith/configuration.nix +++ b/hosts/monolith/configuration.nix @@ -61,6 +61,14 @@ hive.programs.games.lutris = true; hive.programs.games.steam = true; hive.programs.games.wine = true; + hive.programs.creative = { + enable = true; + image-management = true; + image-editing = true; + image-raw-processing = true; + video-editing-light = true; + video-editing-heavy = true; + }; # system packages environment.systemPackages = with pkgs; [ @@ -70,27 +78,17 @@ borgbackup borgmatic chromium - darktable - davinci-resolve - digikam discord docker docker-compose drawio feh - ffmpeg firefox - gimp git - hdrmerge hive.crossover - hive.transcode-davinci-resolve inputs.dzgui-nix.packages.${pkgs.stdenv.system}.default insomnia - kdePackages.kdenlive - krita libreoffice - losslesscut-bin mosquitto mpv mupdf diff --git a/modules/default.nix b/modules/default.nix index 4c106d9..9ea1834 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -22,6 +22,7 @@ ./hardware/sound.nix ./hardware/yubikey.nix ./networking/wireguard + ./programs/creative.nix ./programs/games.nix ./services/borg-server.nix ./services/kdeconnect.nix diff --git a/modules/programs/creative.nix b/modules/programs/creative.nix new file mode 100644 index 0000000..033f7ba --- /dev/null +++ b/modules/programs/creative.nix @@ -0,0 +1,60 @@ +{ + 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. + ''; + }; + }; + + 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 hdrmerge] + ++ lib.optionals cfg.video-editing-light [ffmpeg losslesscut-bin] + ++ lib.optionals cfg.video-editing-heavy [ + davinci-resolve + hive.transcode-davinci-resolve + kdePackages.kdenlive + ]; + }; +}