Recently, I switched to NixOS and realised that there is no G’MIC plugin package for Krita.
There’s this issue that was last active in October 2023.
I was wondering if anyone has managed to install this without using another package manager (such as Flatpak) or installing an AppImage manually, for system reproducibility, and I also don’t wanna have two package managers in one system.
Ideally, there’d be a wrapper, so you could do something like:
{ pkgs, ... }: {
programs.krita = {
enable = true;
gmic.enable = true;
gmic.package = pkgs.krita.gmic-qt;
};
}
Thoughts?
Related: is there some kind of guide on these program.<name>
wrappers? What are they and where are they defined?
I got you bro https://github.com/NixOS/nixpkgs/pull/285177
I’m far from an expert on NixOS but using another package manager with nixos seems like it would defeat the entire purpose of the distro. It really seems like you must be ok with creating your own packages.
Here is how you create a package: https://nixos.wiki/wiki/Nixpkgs/Create_and_debug_packages
However - it’s hard to tell but flakes seem to be the emerging standard. Here is the documentation on flakes: https://nixos.wiki/wiki/Flakes
To answer your other question services are part of packages. For example here is NFS: https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/network-filesystems/nfsd.nix
More examples can be found here:
I can’t answer the “how to make it work” part, as I’m on a different device using a Guix System. But yes, I can vouch that what you’ve done is actually wrong. There’s no entry for Krita under NixOS options. The
program.<name>
options are defined here. Someone will have to create a custom expression just for the Krita fork of G’Mic. Might as well have to involve patches.But yes, I can vouch that what you’ve done is actually wrong.
I know, I provided that snippet as an example of what I think would work better.