nixos/uwsm: set default for waylandCompositors (#474174)
This commit is contained in:
@@ -89,6 +89,9 @@ in
|
||||
configPackages = lib.mkDefault [ cfg.package ];
|
||||
};
|
||||
|
||||
# To make the Hyprland session available in DM
|
||||
services.displayManager.sessionPackages = [ cfg.package ];
|
||||
|
||||
systemd = lib.mkIf cfg.systemd.setPath.enable {
|
||||
user.extraConfig = ''
|
||||
DefaultEnvironment="PATH=/run/wrappers/bin:/etc/profiles/per-user/%u/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:$PATH"
|
||||
@@ -98,18 +101,6 @@ in
|
||||
|
||||
(lib.mkIf (cfg.withUWSM) {
|
||||
programs.uwsm.enable = true;
|
||||
# Configure UWSM to launch Hyprland from a display manager like SDDM
|
||||
programs.uwsm.waylandCompositors = {
|
||||
hyprland = {
|
||||
prettyName = "Hyprland";
|
||||
comment = "Hyprland compositor managed by UWSM";
|
||||
binPath = "/run/current-system/sw/bin/start-hyprland";
|
||||
};
|
||||
};
|
||||
})
|
||||
(lib.mkIf (!cfg.withUWSM) {
|
||||
# To make a vanilla Hyprland session available in DM
|
||||
services.displayManager.sessionPackages = [ cfg.package ];
|
||||
})
|
||||
|
||||
(import ./wayland-session.nix {
|
||||
|
||||
@@ -107,33 +107,39 @@ in
|
||||
binPath = "/run/current-system/sw/bin/sway";
|
||||
};
|
||||
'';
|
||||
default = { };
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
systemd.packages = [ cfg.package ];
|
||||
environment.pathsToLink = [ "/share/uwsm" ];
|
||||
config = lib.mkIf cfg.enable (
|
||||
lib.mkMerge [
|
||||
{
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
systemd.packages = [ cfg.package ];
|
||||
environment.pathsToLink = [ "/share/uwsm" ];
|
||||
|
||||
# UWSM recommends dbus broker for better compatibility
|
||||
services.dbus.implementation = "broker";
|
||||
# UWSM recommends dbus broker for better compatibility
|
||||
services.dbus.implementation = "broker";
|
||||
|
||||
services.displayManager = {
|
||||
enable = true;
|
||||
sessionPackages = lib.mapAttrsToList (
|
||||
name: value:
|
||||
mk_uwsm_desktop_entry {
|
||||
inherit name;
|
||||
inherit (value)
|
||||
prettyName
|
||||
comment
|
||||
binPath
|
||||
extraArgs
|
||||
;
|
||||
}
|
||||
) cfg.waylandCompositors;
|
||||
};
|
||||
};
|
||||
services.displayManager.enable = true;
|
||||
}
|
||||
|
||||
(lib.mkIf (cfg.waylandCompositors != { }) {
|
||||
services.displayManager.sessionPackages = lib.mapAttrsToList (
|
||||
name: value:
|
||||
mk_uwsm_desktop_entry {
|
||||
inherit name;
|
||||
inherit (value)
|
||||
prettyName
|
||||
comment
|
||||
binPath
|
||||
extraArgs
|
||||
;
|
||||
}
|
||||
) cfg.waylandCompositors;
|
||||
})
|
||||
]
|
||||
);
|
||||
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
johnrtitor
|
||||
|
||||
@@ -194,7 +194,7 @@ customStdenv.mkDerivation (finalAttrs: {
|
||||
"NO_XWAYLAND" = !enableXWayland;
|
||||
"NO_SYSTEMD" = !withSystemd;
|
||||
"CMAKE_DISABLE_PRECOMPILE_HEADERS" = true;
|
||||
"NO_UWSM" = true;
|
||||
"NO_UWSM" = !withSystemd;
|
||||
"NO_HYPRPM" = true;
|
||||
"TRACY_ENABLE" = false;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user