44 lines
1.3 KiB
Nix
44 lines
1.3 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
# Patch to libpng so that big brushes can be loaded
|
|
patched-krita = pkgs.replaceDependency {
|
|
drv = pkgs.krita;
|
|
oldDependency = pkgs.libpng;
|
|
newDependency = pkgs.libpng.overrideAttrs (old: {
|
|
patches = (old.patches or [ ]) ++ [ ../../patches/libpng.patch ];
|
|
});
|
|
};
|
|
attrValuesIf = cond: attrs: if cond then builtins.attrValues attrs else [ ];
|
|
artPackages = attrValuesIf config.my.apps.art.enable {
|
|
inherit patched-krita; # art to your heart desire!
|
|
inherit (pkgs)
|
|
eyedropper # color picker
|
|
emulsion-palette # self explanatory
|
|
gimp # the coolest bestest art program to never exist
|
|
mypaint # not the best art program
|
|
mypaint-brushes # but it's got some
|
|
mypaint-brushes1 # nice damn brushes
|
|
blender # cgi animation and sculpting
|
|
pureref # create inspiration/reference boards
|
|
;
|
|
};
|
|
gameDevPackages = attrValuesIf config.my.dev.gameDev.enable {
|
|
inherit (pkgs)
|
|
godot_4 # game development
|
|
gdtoolkit_4 # gdscript language server
|
|
;
|
|
};
|
|
in
|
|
{
|
|
options.my = {
|
|
apps.art.enable = lib.mkEnableOption "digital art and creative applications";
|
|
dev.gameDev.enable = lib.mkEnableOption "game development tools and engines";
|
|
};
|
|
config.users.users.jawz.packages = artPackages ++ gameDevPackages;
|
|
}
|