From a057acc112856352e77d42ac4685134b2213a810 Mon Sep 17 00:00:00 2001 From: Louis Dalibard Date: Wed, 4 Jun 2025 18:10:45 +0200 Subject: [PATCH] blender: init (#1147) Link: https://github.com/nix-community/stylix/pull/1147 Reviewed-by: Daniel Thwaites Reviewed-by: awwpotato Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com> --- modules/blender/README.md | 4 + modules/blender/Stylix.xml.mustache | 1532 ++++++++++++++++++++++++++ modules/blender/hm.nix | 46 + modules/blender/meta.nix | 6 + modules/blender/testbeds/blender.nix | 12 + 5 files changed, 1600 insertions(+) create mode 100644 modules/blender/README.md create mode 100644 modules/blender/Stylix.xml.mustache create mode 100644 modules/blender/hm.nix create mode 100644 modules/blender/meta.nix create mode 100644 modules/blender/testbeds/blender.nix diff --git a/modules/blender/README.md b/modules/blender/README.md new file mode 100644 index 00000000..1abcbfae --- /dev/null +++ b/modules/blender/README.md @@ -0,0 +1,4 @@ +> [!IMPORTANT] +> The Blender target will have no effect unless the Blender theme is properly +> [enabled](https://docs.blender.org/manual/en/latest/editors/preferences/themes.html) +> within Blender itself. diff --git a/modules/blender/Stylix.xml.mustache b/modules/blender/Stylix.xml.mustache new file mode 100644 index 00000000..c44b33ea --- /dev/null +++ b/modules/blender/Stylix.xml.mustache @@ -0,0 +1,1532 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/blender/hm.nix b/modules/blender/hm.nix new file mode 100644 index 00000000..4e08ff7f --- /dev/null +++ b/modules/blender/hm.nix @@ -0,0 +1,46 @@ +{ + config, + lib, + ... +}: +{ + options.stylix.targets.blender.enable = + config.lib.stylix.mkEnableTarget "blender" true; + + config = + lib.mkIf (config.stylix.enable && config.stylix.targets.blender.enable) + { + xdg.configFile = + let + theme = builtins.readFile ( + config.lib.stylix.colors { + template = ./Stylix.xml.mustache; + extension = ".xml"; + } + ); + in + builtins.listToAttrs ( + map + ( + version: + lib.nameValuePair + "blender/${version}/scripts/presets/interface_theme/Stylix.xml" + { + text = + builtins.replaceStrings + [ "%POPUPSFONTSIZE%" "%DESKTOPFONTSIZE%" ] + [ + (toString config.stylix.fonts.sizes.popups) + (toString config.stylix.fonts.sizes.desktop) + ] + theme; + } + ) + [ + "4.2" + "4.3" + "4.4" + ] + ); + }; +} diff --git a/modules/blender/meta.nix b/modules/blender/meta.nix new file mode 100644 index 00000000..2854a141 --- /dev/null +++ b/modules/blender/meta.nix @@ -0,0 +1,6 @@ +{ lib, ... }: +{ + maintainers = [ lib.maintainers.make-42 ]; + name = "Blender"; + homepage = "https://www.blender.org/"; +} diff --git a/modules/blender/testbeds/blender.nix b/modules/blender/testbeds/blender.nix new file mode 100644 index 00000000..0b335abf --- /dev/null +++ b/modules/blender/testbeds/blender.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: +let + package = pkgs.blender; +in +{ + stylix.testbed.ui.application = { + name = "blender"; + inherit package; + }; + + environment.systemPackages = [ package ]; +}