Previously, bash completion scripts were installed in the "out"
output, which didn't contain any binaries. With this change, the
completion scripts are installed in the outputs containing the
corresponding binaries. Namely, gapplication, gdbus, gio, and
gsettings completion scripts go to $bin, and gresource to $dev. The
result is that the completions work out of the box, when the binaries
are available to the user.
This change adds man pages for commands provided by glib. Namely, the
$bin output now includes man pages (section 1) for:
gapplication gdbus gio gsettings
The $dev output for:
gdbus-codegen gio-querymodules glib-compile-resources
glib-compile-schemas glib-genmarshal glib-gettextize glib-mkenums
gobject-query gresource gtester-report gtester
GNOME Console (aka King’s Cross) is the default terminal emulator in GNOME 42.
Let’s make GLib aware of it so that apps relying on it (e.g. GNOME Shell)
can launch terminal apps like htop.
This is a downstream patch since GLib does not want to add any more
terminal emulators: https://gitlab.gnome.org/GNOME/glib/-/issues/2618
It's not clear why this is required, but glib includes CoreServices
headers and calls CoreServices functions, so it's reasonable to link
against the framework explicitly.
(It was requested by them.)
I left one case due to fetching from their personal repo:
pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix
GNOME Shell monitors XDG_DATA_DIRS for changes using inotify for the
purpose of updating the list of applications displayed in the overview
as they are installed or removed. Because the relevant directories are
symlinks under NixOS and are swapped on change, Shell never notices it.
To remedy this, also monitor various profile directories to signal an
update whenever profiles are changed.
This uses a patch from Guix, slightly modified to also encompass user
environment profiles (/etc/profiles/per-user/$USER) in addition to the
system profile (/nix/var/nix/profiles/system) as well as regular user
profiles (/nix/var/nix/profiles/per-user/$USER/profile).
rebased the schema override patch, adding the same upstream safety but
not duplicating the ability to pass multiple directories as this does
not appear to be necessary for nix overrides
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.