feat(blender): optional CUDA build

Off by default: it is only useful on an NVIDIA host, and no binary cache
serves it (cuda-maintainers was measured to change nothing), so enabling
it rebuilds Blender, OpenUSD, OpenSubdiv and OpenImageDenoise.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Miguel Palhas
2026-08-24 12:13:38 +01:00
parent 3d372cd155
commit c11acc8b88
+26 -3
View File
@@ -1,11 +1,33 @@
{ {
config,
lib,
pkgs, pkgs,
... ...
}: }:
let
cfg = config.custom.blender;
in
{ {
home.packages = with pkgs; [ options.custom.blender = {
blender cuda = lib.mkOption {
prusa-slicer type = lib.types.bool;
default = false;
description = ''
Build Blender with CUDA/OptiX so Cycles renders on the GPU instead of
the CPU. Only useful on an NVIDIA host; enabling it on arrakis (Intel)
would mean a long build for nothing.
No binary cache serves this cuda-maintainers was measured to make no
difference so flipping this on rebuilds Blender, OpenUSD, OpenSubdiv
and OpenImageDenoise from source.
'';
};
};
config = {
home.packages = [
(if cfg.cuda then pkgs.blender.override { cudaSupport = true; } else pkgs.blender)
pkgs.prusa-slicer
]; ];
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
@@ -17,4 +39,5 @@
noDisplay = true; noDisplay = true;
mimeType = [ "x-scheme-handler/prusaslicer" ]; mimeType = [ "x-scheme-handler/prusaslicer" ];
}; };
};
} }