49 lines
1.2 KiB
Nix
49 lines
1.2 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
drawing-apps = with pkgs; [
|
|
gimp
|
|
# tiled
|
|
# aseprite
|
|
# inkscape
|
|
sweethome3d.application
|
|
];
|
|
printing-apps = with pkgs; [
|
|
blender
|
|
# prusa-slicer
|
|
# openscad
|
|
];
|
|
gamedev-apps = with pkgs; [
|
|
# godot_4
|
|
# gdtoolkit_4
|
|
];
|
|
sound-apps = with pkgs; [
|
|
audacity
|
|
# sfxr
|
|
];
|
|
in
|
|
{
|
|
options.myHome.programs.creativity = lib.mkOption {
|
|
type = lib.types.submodule {
|
|
options = {
|
|
drawing.enable = lib.mkEnableOption "enable drawing software";
|
|
printing.enable = lib.mkEnableOption "enable 3d (printing) software";
|
|
gamedev.enable = lib.mkEnableOption "enable gamedev software";
|
|
sound.enable = lib.mkEnableOption "enable sound making software";
|
|
};
|
|
};
|
|
default = { };
|
|
};
|
|
|
|
config.home.packages = lib.concatLists [
|
|
(lib.optionals config.myHome.programs.creativity.drawing.enable drawing-apps)
|
|
(lib.optionals config.myHome.programs.creativity.printing.enable printing-apps)
|
|
(lib.optionals config.myHome.programs.creativity.gamedev.enable gamedev-apps)
|
|
(lib.optionals config.myHome.programs.creativity.sound.enable sound-apps)
|
|
];
|
|
}
|