https://hydra.nixos.org/build/295225429
This unbreaks nixosTests.budgie when a fix for qt6gtk2 is still in
review. This does not seem to work in Wayland so I guess we will
eventually drop that in next Budgie bump anyway.
See also 7e685d3693 for Cinnamon and 36bc3f46ba for Pantheon.
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:
nix-build ci -A fmt.check
This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).
This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).
Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).
If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
this assertion broke gnome sessions in very hard to debug way:
- gdm starts, but on successful login just returns to login screen
- journalctl isn't exactly helpful in this condition:
- a typical gnome login will involve many warnings and errors, that
aren't actually preventing login, but will lead affected users
on a merry chase for many hours
- the actual indicators in the log arent't even an errors, only info and warning
- graphical-session.target: Starting requested but asserts failed.
- Assertion failed for Current graphical user session.
startx is a power tool for power users, needing a certain level of
expertise for the user to even want it, let alone use correctly.
However, the expectation is, that the necessary expertise will be
contained within the domain of startx and that it not break tools for
regular users.
This partially reverts commit e1c3082085.
There are some common pitfalls and no documentation around how to write
the .xinitrc to correctly start the window manager, the systemd
graphical session and, ideally, cleaning up afterwards.
To improve the user experience around startx this change:
1. Adds two options to generate a sane default script and extend
it declaratively from NixOS.
2. Adds assertions to graphical-session.target so that it will fail
clearly and immediately when users writing their own script forget to
import the necessary environment variables.
* Remove default-elementary-dockitems.desktop as it is not useful with the new dock.
* See https://github.com/GNOME/gtk/blob/4.16.12/gtk/gtksettings.c for gtk-4.0/settings.ini.
* With systemd managed session the required components are actually managed by systemd.
* After the above changes there is no more need to install the script in libexec.
Moved outside lisp-modules to a separate package, so as to re-use its
Makefile-based build-system and make a step in the direction of leaving just
development libraries in lisp-modules.