49 lines
1.1 KiB
Nix
49 lines
1.1 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)
|
|
];
|
|
}
|