nixos/xserver: Remove with statements

They masked the evaluation error caused by removal of
`defaultSessionFromLegacyOptions` variable
in 6be2bfcc32
This commit is contained in:
Jan Tojnar 2024-04-30 17:42:24 +02:00
parent 8bf5752a3c
commit 2a2796c2bc
3 changed files with 16 additions and 19 deletions

View File

@ -1,8 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
inherit (lib) mkOption types;
xcfg = config.services.xserver; xcfg = config.services.xserver;
cfg = xcfg.desktopManager; cfg = xcfg.desktopManager;
@ -59,7 +58,7 @@ in
session = mkOption { session = mkOption {
internal = true; internal = true;
default = []; default = [];
example = singleton example = lib.singleton
{ name = "kde"; { name = "kde";
bgSupport = true; bgSupport = true;
start = "..."; start = "...";
@ -73,10 +72,10 @@ in
manage = "desktop"; manage = "desktop";
start = d.start start = d.start
# literal newline to ensure d.start's last line is not appended to # literal newline to ensure d.start's last line is not appended to
+ optionalString (needBGCond d) '' + lib.optionalString (needBGCond d) ''
if [ -e $HOME/.background-image ]; then if [ -e $HOME/.background-image ]; then
${pkgs.feh}/bin/feh --bg-${cfg.wallpaper.mode} ${optionalString cfg.wallpaper.combineScreens "--no-xinerama"} $HOME/.background-image ${pkgs.feh}/bin/feh --bg-${cfg.wallpaper.mode} ${lib.optionalString cfg.wallpaper.combineScreens "--no-xinerama"} $HOME/.background-image
fi fi
''; '';
}); });

View File

@ -9,9 +9,8 @@
{ config, lib, options, pkgs, ... }: { config, lib, options, pkgs, ... }:
with lib;
let let
inherit (lib) mkOption types literalExpression optionalString;
cfg = config.services.xserver; cfg = config.services.xserver;
xorg = pkgs.xorg; xorg = pkgs.xorg;
@ -91,7 +90,7 @@ let
# Import environment variables into the systemd user environment. # Import environment variables into the systemd user environment.
${optionalString (cfg.displayManager.importedVariables != []) ( ${optionalString (cfg.displayManager.importedVariables != []) (
"/run/current-system/systemd/bin/systemctl --user import-environment " "/run/current-system/systemd/bin/systemctl --user import-environment "
+ toString (unique cfg.displayManager.importedVariables) + toString (lib.unique cfg.displayManager.importedVariables)
)} )}
# Speed up application start by 50-150ms according to # Speed up application start by 50-150ms according to
@ -247,8 +246,8 @@ in
# that do not have upstream session files (those defined using services.{display,desktop,window}Manager.session options). # that do not have upstream session files (those defined using services.{display,desktop,window}Manager.session options).
services.displayManager.sessionPackages = services.displayManager.sessionPackages =
let let
dms = filter (s: s.manage == "desktop") cfg.displayManager.session; dms = lib.filter (s: s.manage == "desktop") cfg.displayManager.session;
wms = filter (s: s.manage == "window") cfg.displayManager.session; wms = lib.filter (s: s.manage == "window") cfg.displayManager.session;
# Script responsible for starting the window manager and the desktop manager. # Script responsible for starting the window manager and the desktop manager.
xsession = dm: wm: pkgs.writeScript "xsession" '' xsession = dm: wm: pkgs.writeScript "xsession" ''
@ -276,16 +275,16 @@ in
''; '';
in in
# We will generate every possible pair of WM and DM. # We will generate every possible pair of WM and DM.
concatLists ( lib.concatLists (
lib.mapCartesianProduct lib.mapCartesianProduct
({dm, wm}: let ({dm, wm}: let
sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}"; sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}";
script = xsession dm wm; script = xsession dm wm;
desktopNames = if dm ? desktopNames desktopNames = if dm ? desktopNames
then concatStringsSep ";" dm.desktopNames then lib.concatStringsSep ";" dm.desktopNames
else sessionName; else sessionName;
in in
optional (dm.name != "none" || wm.name != "none") lib.optional (dm.name != "none" || wm.name != "none")
(pkgs.writeTextFile { (pkgs.writeTextFile {
name = "${sessionName}-xsession"; name = "${sessionName}-xsession";
destination = "/share/xsessions/${sessionName}.desktop"; destination = "/share/xsessions/${sessionName}.desktop";
@ -310,11 +309,11 @@ in
}; };
imports = [ imports = [
(mkRemovedOptionModule [ "services" "xserver" "displayManager" "desktopManagerHandlesLidAndPower" ] (lib.mkRemovedOptionModule [ "services" "xserver" "displayManager" "desktopManagerHandlesLidAndPower" ]
"The option is no longer necessary because all display managers have already delegated lid management to systemd.") "The option is no longer necessary because all display managers have already delegated lid management to systemd.")
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "displayManager" "logToFile" ]) (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "displayManager" "logToFile" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "displayManager" "logToJournal" ]) (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "displayManager" "logToJournal" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "extraSessionFilesPackages" ] [ "services" "displayManager" "sessionPackages" ]) (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "extraSessionFilesPackages" ] [ "services" "displayManager" "sessionPackages" ])
]; ];
} }

View File

@ -1,8 +1,7 @@
{ config, lib, ... }: { config, lib, ... }:
with lib;
let let
inherit (lib) mkOption types;
cfg = config.services.xserver.windowManager; cfg = config.services.xserver.windowManager;
in in