Commit graph

526 commits

Author SHA1 Message Date
h7x4 4ba3f60b8a
various: use mkPackageOption 2025-09-22 02:46:54 +02:00
Will Fancher 431a976182 nixos/display-managers: tty1 everywhere 2025-07-28 14:46:39 -04:00
Will Fancher 878c68dad3 nixos/xserver: Remove tty option
Note about sddm: The MinimumVT option has been documented as unavailable since v0.20.
2025-07-28 14:46:39 -04:00
hand7s c464c44a42
nixos/gnome & nixos/gdm: move out of x11
Since DEs like KDE Plasma 6, GNOME and COSMIC are not designed to be X11-exclusive, putting them under `services.xserver` is misleading. In particular, GNOME defaults to Wayland these days and X11 support is going to be dropped in near future.

Let’s follow Plasma and move GNOME NixOS options out of `xserver` attribute.

This patch does not include any changes to X11 support itself.

Signed-off-by: John Titor <50095635+JohnRTitor@users.noreply.github.com>
2025-05-28 13:27:36 +02:00
nixpkgs-ci[bot] 7b793f256a
Merge master into staging-next 2025-05-08 18:05:13 +00:00
Jan Tojnar 0b772ee034 nixos/gdm: Remove stray with pkgs.gnome;
It was unused – `gdm` is part of the outer scope.
2025-05-08 18:22:29 +02:00
Jan Tojnar eafaba2fc0 gdm: 48.beta → 48.0
https://gitlab.gnome.org/GNOME/gdm/-/compare/48.beta...48.0

8ecc5d6a49
introduces polkit rules, install them in the GDM module.

Changelog-Reviewed-By: Jan Tojnar <jtojnar@gmail.com>
2025-05-07 02:08:19 +02:00
Ryan Hendrickson 2ef165538a nixos/pam: conditional enabling of services 2025-04-15 23:19:42 -04:00
Silvan Mosberger 374e6bcc40 treewide: Format all Nix files
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.
2025-04-01 20:10:43 +02:00
Herwig Hochleitner 2107f032ab nixos/startx: remove graphical-session assertions
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.
2025-03-31 11:58:09 +01:00
rnhmjoj a2e29f2fe3
nixos/startx: fix error if generateScript == false 2025-03-12 13:05:53 +01:00
rnhmjoj e1c3082085 nixos/startx: try to improve UX
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.
2025-03-11 11:05:24 +01:00
Peder Bergebakken Sundt 953f72e76e nixos/*: tag manpage references 2025-01-27 02:47:01 +01:00
piegames 603733851b treewide: Fix incorrect string escapes 2025-01-07 19:49:28 +01:00
Philip Taron b6b551fe22
Revert "treewide/nixos: remove with lib; part 12" 2024-12-31 14:04:42 -08:00
Felix Buehler 2e19baf26b nixos/services.xserver.displayManager.xpra: remove with lib; 2024-12-30 16:57:46 +01:00
Felix Buehler 1c0fdc5be0 nixos/services.xserver.displayManager.startx: remove with lib; 2024-12-30 16:57:46 +01:00
Felix Buehler 61ea102715 nixos/services.xserver.displayManager.slim: remove with lib; 2024-12-30 16:57:46 +01:00
Felix Buehler a439faa883 nixos/services.xserver.displayManager.lightdm: remove with lib; 2024-12-30 16:57:45 +01:00
Felix Buehler 4214af11a9 nixos/services.xserver.displayManager.lightdm.greeters.tiny: remove with lib; 2024-12-30 16:57:45 +01:00
Felix Buehler 62a2f3303b nixos/services.xserver.displayManager.lightdm.greeters.slick: remove with lib; 2024-12-30 16:57:45 +01:00
Felix Buehler 6a56bdff41 nixos/services.xserver.displayManager.lightdm.greeters.pantheon: remove with lib; 2024-12-30 16:57:45 +01:00
Felix Buehler 2882d6bc32 nixos/services.xserver.displayManager.lightdm.greeters.mobile: remove with lib; 2024-12-30 16:57:45 +01:00
Felix Buehler f8865e8401 nixos/services.xserver.displayManager.lightdm.greeters.mini: remove with lib; 2024-12-30 16:57:45 +01:00
Felix Buehler 1253a94387 nixos/services.xserver.displayManager.lightdm.greeters.gtk: fmt 2024-12-30 16:57:42 +01:00
Felix Buehler 2b59e102ba nixos/services.xserver.displayManager.lightdm.greeters.gtk: remove with lib; 2024-12-30 16:57:20 +01:00
Felix Buehler 0a91efc713 nixos/services.xserver.displayManager.lightdm.greeters.enso: remove with lib; 2024-12-30 16:57:20 +01:00
nicoo 238b407862
nixos: hardware.pulseaudio → services.pulseaudio (#369391) 2024-12-30 13:46:50 +00:00
Bobby Rong 3c20ab171f
nixos/xfce: Use upstream name for X11 session
This allows keeping the name consistent with the wayland
session we are introducing later.
2024-12-15 20:08:15 +08:00
Silvan Mosberger 4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build a08b3a4d19.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00
Masum Reza f4ae47b33e
nixos/gdm: automatically enable services.displayManager (#353848) 2024-11-16 21:40:04 +05:30
Gaetan Lepage 0a785f6f42 nixos/gdm: automatically enable services.displayManager 2024-11-07 00:38:15 +01:00
OPNA2608 d14f6e5986 nixos/lightdm-greeters/lomiri: Enable lomiri.basics option for shared settings 2024-10-30 18:46:10 +01:00
OPNA2608 de4db8a6b0 nixos/lightdm-greeters/lomiri: nixfmt 2024-10-30 18:46:09 +01:00
Jan Tojnar a110f292a1 gnome-control-center: Move from gnome scope to top-level 2024-09-01 14:16:31 +02:00
Jan Tojnar c2f1fa833e gnome-session: Move from gnome scope to top-level 2024-09-01 14:16:31 +02:00
Jan Tojnar ca9576c81d gnome-shell: Move from gnome scope to top-level 2024-09-01 14:16:31 +02:00
Jan Tojnar b8f3c78021
Merge pull request #333917 from jtojnar/gnome-top-level
gnome: Move more packages to top-level
2024-08-24 01:43:31 +02:00
Jan Tojnar a0d15e0d04 gdm: Move from gnome scope to top-level 2024-08-12 00:29:11 +02:00
Atemu d6150339fc nixos/gdm: refactor file-global with 2024-08-11 09:28:25 +02:00
Thiago Kenji Okada b6144020d1 nixos/sx: add thiagokokada as maintainer 2024-08-10 19:45:08 +01:00
Thiago Kenji Okada 187a07a96e nixos/sx: add addAsSession option 2024-08-10 19:45:07 +01:00
Thiago Kenji Okada 6a18ff9098 nixos/sx: add package option 2024-08-10 19:45:07 +01:00
Thiago Kenji Okada b01dbc6e72 nixos/sx: nixpkgs-rfc-style formatting and remove top-level with lib 2024-08-10 19:45:07 +01:00
Dawid Dziurla 097b63d424
nixos/gdm: autologin unlocks keyring when possible 2024-07-23 09:34:19 +02:00
Johannes Jöns 3f7fcbb2f9
Merge pull request #290014 from jopejoe1/ubuntu-font
ubuntu-sans{,-mono}: rename from ubuntu_font_family, 0.83 -> 1.004
2024-07-17 18:46:36 +00:00
Jan Tojnar af0cdb44a0 nixos/gdm: Fix fingerprint auth rules
We introduced the gdm-fingerprint.pam in 9d41fe6fcc.

We used the [upstream Arch config] as a template, which contains an extended control field that jumps over **one** immediately-following `auth` rule unless `pam_gdm.so` succeeds.

But we decided to not include `pam_gnome_keyring.so` so there was no rule to skip over, resulting in a broken control flow and the PAM module failing with “PAM bad jump in stack”, breaking the fingerprint authentication in GDM.

Let’s actually add `pam_gnome_keyring.so`, like the Arch config does. Because we are creating the PAM file using the `text` option, `security.pam.services.gdm-fingerprint.enableGnomeKeyring` does not do anything so we need to do it manually.

For the case where gnome-keyring is not enabled, we could add a no-op rule like `optional pam_permit.so` after `pam_gdm.so` so that the branching always has something to jump over but it will be simpler to just make the both conditional. There are no further `auth` rules that could benefit from `pam_gdm.so` doing something so it should be fine.

Unlike in Arch, we are not going to invoke `pam_gnome_keyring.so` in a `session` rule since that is already done by the included `login` module.

[upstream Arch config]: 81ee658c11/data/pam-arch/gdm-fingerprint.pam
2024-07-03 23:36:52 +02:00
Jan Tojnar 1cf4155498 nixos/gdm: Clean up gdm-fingerprint pam module
The `optional pam_permit.so` comes from the [upstream Arch config] we used as a template in 9d41fe6fcc. But I do not think it does anything in this position – see also the discussion at https://bbs.archlinux.org/viewtopic.php?id=245892 – so let’s just remove it.

Let’s also add a comment about disabling `fprintAuth` and a blank line for clarity.

[upstream Arch config]: 81ee658c11/data/pam-arch/gdm-fingerprint.pam
2024-07-03 23:32:43 +02:00
Jan Tojnar e3a06d65ff gnome-themes-extra: Move from gnome scope to top-level
Upstream archived.
2024-07-01 08:26:49 +02:00
Jan Tojnar 5c5c20919b adwaita-icon-theme: Move from gnome scope to top-level
It is widely used outside gnome – although it probably should not be.
2024-07-01 08:26:46 +02:00