From 3f9c9cd1548fa62cbe91ded2fe1075b0ac00cc2a Mon Sep 17 00:00:00 2001 From: hektor Date: Sun, 15 Mar 2026 20:07:44 +0100 Subject: [PATCH] fix: split up 3d module --- home/hosts/andromache/default.nix | 4 ++++ home/hosts/astyanax/default.nix | 2 ++ home/modules/3d/default.nix | 37 ++++++++++++++++++++++++------- 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/home/hosts/andromache/default.nix b/home/hosts/andromache/default.nix index 33c0a47..bdffa96 100644 --- a/home/hosts/andromache/default.nix +++ b/home/hosts/andromache/default.nix @@ -39,6 +39,10 @@ xdg.userDirs.createDirectories = false; xdg.userDirs.download = "${config.home.homeDirectory}/dl"; + modules."3d" = { + printing.enable = true; + modeling.enable = true; + }; ai-tools.opencode.enable = true; browser.primary = "librewolf"; cloud.hetzner.enable = true; diff --git a/home/hosts/astyanax/default.nix b/home/hosts/astyanax/default.nix index b093f24..5936f46 100644 --- a/home/hosts/astyanax/default.nix +++ b/home/hosts/astyanax/default.nix @@ -7,6 +7,7 @@ { imports = [ ../../modules + ../../modules/3d ../../modules/ai-tools ../../modules/anki ../../modules/audio @@ -37,6 +38,7 @@ xdg.userDirs.createDirectories = false; xdg.userDirs.download = "${config.home.homeDirectory}/dl"; + modules."3d".printing.enable = true; ai-tools.opencode.enable = true; browser.primary = "librewolf"; cloud.hetzner.enable = true; diff --git a/home/modules/3d/default.nix b/home/modules/3d/default.nix index 00e63ed..877a651 100644 --- a/home/modules/3d/default.nix +++ b/home/modules/3d/default.nix @@ -1,11 +1,32 @@ -{ pkgs, ... }: - { - home.packages = with pkgs; [ - bambu-studio - blender - openscad-lsp - openscad-unstable - orca-slicer + config, + lib, + pkgs, + ... +}: + +let + cfg = config.modules."3d"; +in +{ + options.modules."3d" = { + printing.enable = lib.mkEnableOption "3D printing tools"; + modeling.enable = lib.mkEnableOption "3D modeling tools"; + }; + + config = lib.mkMerge [ + (lib.mkIf cfg.printing.enable { + home.packages = with pkgs; [ + bambu-studio + orca-slicer + ]; + }) + (lib.mkIf cfg.modeling.enable { + home.packages = with pkgs; [ + blender + openscad-lsp + openscad-unstable + ]; + }) ]; }