mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-24 21:42:51 -05:00
Modify the greeter module to use the dms-greeter wrapper (#373)
This commit is contained in:
@@ -10,42 +10,40 @@
|
|||||||
|
|
||||||
user = config.services.greetd.settings.default_session.user;
|
user = config.services.greetd.settings.default_session.user;
|
||||||
|
|
||||||
buildCompositorConfig = conf: pkgs.writeText "dmsgreeter-compositor-config" ''
|
|
||||||
${(lib.replaceString "_DMS_PATH_" "${dmsPkgs.dankMaterialShell}/etc/xdg/quickshell/dms" (lib.fileContents conf))}
|
|
||||||
${cfg.compositor.extraConfig}
|
|
||||||
'';
|
|
||||||
|
|
||||||
sessionCommands = {
|
|
||||||
niri = ''
|
|
||||||
export PATH=$PATH:${lib.makeBinPath [ config.programs.niri.package ]}
|
|
||||||
niri -c ${buildCompositorConfig ../Modules/Greetd/assets/dms-niri.kdl} \
|
|
||||||
'';
|
|
||||||
hyprland = ''
|
|
||||||
export PATH=$PATH:${lib.makeBinPath [ config.programs.hyprland.package ]}
|
|
||||||
hyprland -c ${buildCompositorConfig ../Modules/Greetd/assets/dms-hypr.conf} \
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
greeterScript = pkgs.writeShellScriptBin "dms-greeter" ''
|
greeterScript = pkgs.writeShellScriptBin "dms-greeter" ''
|
||||||
export QT_QPA_PLATFORM=wayland
|
export PATH=$PATH:${lib.makeBinPath [ cfg.quickshell.package config.programs.${cfg.compositor.name}.package ]}
|
||||||
export XDG_SESSION_TYPE=wayland
|
${lib.escapeShellArgs ([
|
||||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
"sh"
|
||||||
export EGL_PLATFORM=gbm
|
"${../Modules/Greetd/assets/dms-greeter}"
|
||||||
export DMS_GREET_CFG_DIR="/var/lib/dmsgreeter/"
|
"--cache-dir"
|
||||||
export PATH=$PATH:${lib.makeBinPath [ cfg.quickshell.package ]}
|
"/var/lib/dmsgreeter"
|
||||||
${sessionCommands.${cfg.compositor.name}} ${lib.optionalString cfg.logs.save "> ${cfg.logs.path} 2>&1"}
|
"--command"
|
||||||
|
cfg.compositor.name
|
||||||
|
"-p"
|
||||||
|
"${dmsPkgs.dankMaterialShell}/etc/xdg/quickshell/dms"
|
||||||
|
]
|
||||||
|
++ lib.optionals (cfg.compositor.customConfig != "") [
|
||||||
|
"-C"
|
||||||
|
"${pkgs.writeText "dmsgreeter-compositor-config" cfg.compositor.customConfig}"
|
||||||
|
])} ${lib.optionalString cfg.logs.save "> ${cfg.logs.path} 2>&1"}
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
|
imports =
|
||||||
|
let
|
||||||
|
msg = "The option 'programs.dankMaterialShell.greeter.compositor.extraConfig' is deprecated. Please use 'programs.dankMaterialShell.greeter.compositor.customConfig' instead.";
|
||||||
|
in
|
||||||
|
[ (lib.mkRemovedOptionModule [ "programs" "dankMaterialShell" "greeter" "compositor" "extraConfig" ] msg) ];
|
||||||
|
|
||||||
options.programs.dankMaterialShell.greeter = {
|
options.programs.dankMaterialShell.greeter = {
|
||||||
enable = lib.mkEnableOption "DankMaterialShell greeter";
|
enable = lib.mkEnableOption "DankMaterialShell greeter";
|
||||||
compositor.name = lib.mkOption {
|
compositor.name = lib.mkOption {
|
||||||
type = types.enum ["niri" "hyprland"];
|
type = types.enum ["niri" "hyprland" "sway"];
|
||||||
description = "Compositor to run greeter in";
|
description = "Compositor to run greeter in";
|
||||||
};
|
};
|
||||||
compositor.extraConfig = lib.mkOption {
|
compositor.customConfig = lib.mkOption {
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
default = "";
|
default = "";
|
||||||
description = "Exra compositor config to include";
|
description = "Custom compositor config";
|
||||||
};
|
};
|
||||||
configFiles = lib.mkOption {
|
configFiles = lib.mkOption {
|
||||||
type = types.listOf types.path;
|
type = types.listOf types.path;
|
||||||
|
|||||||
Reference in New Issue
Block a user