From 96d838db75cf5949b2fe3cb334065aee1eff004f Mon Sep 17 00:00:00 2001 From: hektor Date: Sun, 25 Oct 2026 14:36:13 +0100 Subject: [PATCH] fix(3d): modularize 3D module --- home/hosts/andromache/default.nix | 5 +---- home/modules/3d/default.nix | 13 ++++++++++++- home/modules/3d/modeling.nix | 16 ++++++++++------ 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/home/hosts/andromache/default.nix b/home/hosts/andromache/default.nix index 24c521b..b4892b8 100644 --- a/home/hosts/andromache/default.nix +++ b/home/hosts/andromache/default.nix @@ -19,10 +19,7 @@ xdg.userDirs.createDirectories = false; xdg.userDirs.download = "${config.home.homeDirectory}/dl"; - modules."3d" = { - printing.enable = true; - modeling.enable = true; - }; + modules."3d".printing.enable = true; ai-tools = { claude-code.enable = true; codex.enable = true; diff --git a/home/modules/3d/default.nix b/home/modules/3d/default.nix index cf3dbdb..ca5fdf2 100644 --- a/home/modules/3d/default.nix +++ b/home/modules/3d/default.nix @@ -6,7 +6,18 @@ enable = lib.mkEnableOption "3D printing tools"; }; modeling = { - enable = lib.mkEnableOption "3D modeling tools"; + blender = { + enable = lib.mkOption { + default = false; + type = lib.types.bool; + }; + }; + openscad = { + enable = lib.mkOption { + default = false; + type = lib.types.bool; + }; + }; }; }; diff --git a/home/modules/3d/modeling.nix b/home/modules/3d/modeling.nix index 6c7f4e7..9207635 100644 --- a/home/modules/3d/modeling.nix +++ b/home/modules/3d/modeling.nix @@ -6,11 +6,15 @@ }: { - config = lib.mkIf config.modules."3d".modeling.enable { - home.packages = with pkgs; [ - blender - openscad-lsp - openscad-unstable - ]; + config = { + home.packages = + with pkgs; + lib.optionals config.modules."3d".modeling.blender.enable [ + blender + ] + ++ lib.optionals config.modules."3d".modeling.openscad.enable [ + openscad-lsp + openscad-unstable + ]; }; }