{
environment.systemPackages = with pkgs; [
gtk4
}
}
Why there are no dev commands available?
And nix-shell -p gtk4 --run "compgen -c | grep gtk4" and compgen -c | grep gtk4 output is different?
And things like gtk4-icon-browser available only through nix-shell?
environment.systemPackages does not install development outputs by default – mainly bin output, out output, or whatever is listed first in outputs attribute of the derivation. Plus man output, if present. The order is described in stdenv.mkDerivation, and can be overridden in the package using meta.outputsToInstall (see the algorithm of buildEnv, which the environment.systemPackages option uses). It is also possible to add extra outputs to the environment using environment.extraOutputsToInstall NixOS option, or bypass these mechanisms altogether using gtk4.dev explicitly.
Then what the best variant to find all available package variation?
Since we have git and gitFull vim and vim_configurable ffmpeg and ffmpeg-full gtk4 and gtk4.dev
I’m confused about naming…
As for variants, you can check out package search or grep Nixpkgs (specifically pkgs/top-level/all-packages.nix). You can also use nix-locate program from nix-index package to find which packages contains a certain file.
Similarly, gtk4-launch is only present in gtk4.dev. So what is currently the recommended way to launch a software from a gtk4 app? Rely on the gtk3 package with gtk-lanch? (possibly increasing the size of the closure) Use gtk4.dev + gtk4-launch, and possibly also increase the size of the closure? Or fix gtk4 in NixOs to pack gtk4-launch?