-
-
Notifications
You must be signed in to change notification settings - Fork 14k
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/sddm: allow running on wayland without xserver enabled #291913
nixos/sddm: allow running on wayland without xserver enabled #291913
Conversation
e0f9b1a
to
f9b9d91
Compare
aa4983f
to
1f1bb87
Compare
I wonder if the GNOME folks have some useful information on what parts of |
|
Discetting the relevant parts out of xserver is as PR description out of scope of this PR and will done later to keep the scope manageable. |
1f1bb87
to
6c71ae9
Compare
That shouldn't be that hard, we basically need the following but in another PR: hardware.opengl.enable = mkDefault true;
environment.systemPackages = with pkgs; [ nixos-icons xdg-utils ];
xdg = {
autostart.enable = true;
icons.enable = true;
menus.enable = true;
mime.enable = true;
};
# The default max inotify watches is 8192.
# most apps require a good number of inotify watches,
# the value below is used by default on several other distros.
boot.kernel.sysctl."fs.inotify.max_user_instances" = mkDefault 524288; boot.kernel.sysctl."fs.inotify.max_user_watches" = mkDefault 524288;
systemd.defaultUnit = "graphical.target";
fonts.enableDefaultPackages = mkDefault true;
I leave that up to the gnome people. If I didn't do a mistake, there should be no change in functionality and all other display manager need to opt into the new things in explicitly. |
Yes, that's what I meant above in one of the comments that's now folded. These are basically required to restore a working system when actually using the functionality of this PR. (The XDG stuff is already enabled by default though.)
Oh, I didn't mean that you should change something for GNOME, but that GNOME may already have some things that have been overlooked here because they seem to support running without the X server already. |
0f1b709
to
92fe73a
Compare
92fe73a
to
e9c04ab
Compare
…services.displayManager.sddm Because it is not just X anymore
This is required to fix the keymap in SDDM without X.
d3dbe49
to
476b8c2
Compare
Anyone has an idea why eval-lib-tests fails? It looks really random to me. |
as r-ryantm prs also have that issue it seems also quite unrelated to me. |
Okay, since ofborg was green before the retrigger and this seems to be a general issue, I think we can ignore this right now. |
Here goes nothing Don't hit me if this goes wrong and please be so kind and send fixes 🙈 |
476b8c2 broke my config with a message that Found this PR and updated to remove |
breaks for me xserver = {
# Enable the X11 windowing system.
enable = true;
# Enable the GNOME Desktop Environment.
# services.xserver.displayManager.lightdm = {enable = true;
# greeter.enable = false;
# };
displayManager = {
gdm = {
enable = true;
autoSuspend = false;
};
};
desktopManager.gnome.enable = true;
# services.xserver.displayManager.autoLogin.user = "moot";
# Configure keymap in X11
layout = "us";
xkbVariant = "";
};
services = {
xserver = {
# boot.initrd.kernelModules = ["amdgpu"];
videoDrivers = ["amdgpu"];
# videoDrivers = [
# "modesetting"
# ];
xrandrHeads = [
"DP-2"
{
output = "DP-1";
primary = true;
}
];
exportConfiguration = true;
};
};
|
I guess another |
Please take a look at #303186 |
lib.assertMsg (d != null -> (lib.types.str.check d && lib.elem d config.services.displayManager.sessionData.sessionNames)) '' | ||
Default graphical session, '${d}', not found. | ||
Valid names for 'services.displayManager.defaultSession' are: | ||
${lib.concatStringsSep "\n " cfg.displayManager.sessionData.sessionNames} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR causes a regression for the assert message:
error: attribute 'displayManager' missing
at /nix/store/2arfgnb82dbh6s3h9fv05rxpr4f6z930-source/nixos/modules/services/display-managers/default.nix:125:49:
124| Valid names for 'services.displayManager.defaultSession' are:
125| ${lib.concatStringsSep "\n " cfg.displayManager.sessionData.sessionNames}
| ^
126| '';
See line 4:
cfg = config.services.displayManager;
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
Rename the deprecated services.xserver.displayManager.sddm.enable option to services.displayManager.sddm.enable, following [1]. [1]: NixOS/nixpkgs#291913
Rename the deprecated services.xserver.displayManager.sddm.enable option to services.displayManager.sddm.enable, following [1]. [1]: NixOS/nixpkgs#291913 Link: danth#513
Rename the deprecated services.xserver.displayManager.sddm.enable option to services.displayManager.sddm.enable, following [1]. [1]: NixOS/nixpkgs#291913 Link: #513
Description of changes
I've only ever tested this with #286522, so we are going to wait until that is merged.Next step would be to move things not related to xserver out of the xserver setting and to something more generic.Some history irrelevant history to to this: I am thinking about decoupling wayland from xserver since at least September last year motivated by @tanneberger
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.