Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nixos/xserver: auto-enable preferred display managers for DE's #71515

Closed
wants to merge 1 commit into from

Conversation

worldofpeace
Copy link
Contributor

Motivation for this change

When Gnome 3 is enabled we should use GDM over lightdm,
and similarly for Plasma5 we should be using SDDM.
This doesn't change the default of lightdm, however
if someone were to enable multiple desktops the previous rules
for Gnome and Plasma don't apply, and lightdm is used.

Really a follow for what we wanted in #48080

Todo's

This is opened as a draft because I get an infinite recursion and I'm not sure why.

  • Add release note describing change
  • Actually test the thing

In all situations the user defined display-manager should be used.

Further motivations

I've actually opened this in the hopes of very soon not using slim as a display-manager
in the installer ISO.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @

When Gnome 3 is enabled we should use GDM over lightdm,
and similarly for Plasma5 we should be using SDDM.
This doesn't change the default of lightdm, however
if someone were to enable multiple desktops the previous rules
for Gnome and Plasma don't apply, and lightdm is used.
@worldofpeace
Copy link
Contributor Author

cc @infinisil, maybe you could suggest what's up with the infinite recursion?
Trace isn't helpful.
(or maybe I've overlooked something in a drowsy state).

@Lassulus
Copy link
Member

Lassulus commented Oct 23, 2019

I guess the problem is that setting the value of services.xserver.displayManager.gdm.enable in line 583 on the condition if gdm.enable in line 157. similiar problems arise for lightdm and sddm.
You can see in the diff, that the old value didn't depend on lightdm being set, because this would also lead to an infinite recursion.

EDIT:
Maybe a solution would be an option like ...xserver.displayManager.activated = "lightdm"; because there can only be a single displayManager enabled anyway?

@worldofpeace
Copy link
Contributor Author

Maybe a solution would be an option like ...xserver.displayManager.activated = "lightdm"; because there can only be a single displayManager enabled anyway?

Right, how about we introduce a xserver.displayManager.default pretty much the same as desktopManager.default. Not sure I didn't do this initially, it would be a lot simpler.
This would also be a chance to improve another thing, you can actually enable multiple display managers, and it will fail with an error like displayManager.job.execCmd being defined multiple times.
Definitely not user friendly.

@Lassulus
Copy link
Member

xserver.displayManager.default could be working, if its already working for desktopManager. although we have weird bugs there with xterm being enabled even though if another desktopManager was specified

@stale
Copy link

stale bot commented Jun 1, 2020

Thank you for your contributions.
This has been automatically marked as stale because it has had no activity for 180 days.
If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity.
Here are suggestions that might help resolve this more quickly:

  1. Search for maintainers and people that previously touched the
    related code and @ mention them in a comment.
  2. Ask on the NixOS Discourse. 3. Ask on the #nixos channel on
    irc.freenode.net.

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 1, 2020
@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Oct 3, 2020
@stale
Copy link

stale bot commented Jun 4, 2021

I marked this as stale due to inactivity. → More info

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 4, 2021
@Lassulus
Copy link
Member

Lassulus commented Jun 5, 2021

this seems to be stale for a long time. if you still care about this you are free to reopen again :)

@Lassulus Lassulus closed this Jun 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.status: merge conflict 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: nixos 8.has: module (update)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants