diff --git a/distro/nix/greeter.nix b/distro/nix/greeter.nix index a4e9986b..0e6b2f06 100644 --- a/distro/nix/greeter.nix +++ b/distro/nix/greeter.nix @@ -11,12 +11,18 @@ let inherit (config.services.greetd.settings.default_session) user; + compositorPackage = + let + configured = lib.attrByPath [ "programs" cfg.compositor.name "package" ] null config; + in + if configured != null then configured else builtins.getAttr cfg.compositor.name pkgs; + cacheDir = "/var/lib/dms-greeter"; greeterScript = pkgs.writeShellScriptBin "dms-greeter" '' export PATH=$PATH:${ lib.makeBinPath [ cfg.quickshell.package - config.programs.${cfg.compositor.name}.package + compositorPackage ] } ${ @@ -64,6 +70,7 @@ in "niri" "hyprland" "sway" + "labwc" ]; description = "Compositor to run greeter in"; }; diff --git a/quickshell/Modules/Greetd/assets/dms-greeter b/quickshell/Modules/Greetd/assets/dms-greeter index d07707ea..08201305 100755 --- a/quickshell/Modules/Greetd/assets/dms-greeter +++ b/quickshell/Modules/Greetd/assets/dms-greeter @@ -14,7 +14,7 @@ dms-greeter - DankMaterialShell greeter launcher Usage: dms-greeter --command COMPOSITOR [OPTIONS] Required: - --command COMPOSITOR Compositor to use (niri, hyprland, sway, scroll or mangowc) + --command COMPOSITOR Compositor to use (niri, hyprland, sway, scroll, mangowc, or labwc) Options: -C, --config PATH Custom compositor config file @@ -31,6 +31,7 @@ Examples: dms-greeter --command scroll -p /home/user/.config/quickshell/custom-dms dms-greeter --command niri --cache-dir /tmp/dmsgreeter dms-greeter --command mangowc + dms-greeter --command labwc EOF } @@ -229,6 +230,15 @@ SCROLL_EOF exec scroll -c "$COMPOSITOR_CONFIG" ;; + + labwc) + if [[ -n "$COMPOSITOR_CONFIG" ]]; then + exec labwc --config "$COMPOSITOR_CONFIG" --session "$QS_CMD" + else + exec labwc --session "$QS_CMD" + fi + ;; + mangowc) if [[ -n "$COMPOSITOR_CONFIG" ]]; then exec mango -c "$COMPOSITOR_CONFIG" -s "$QS_CMD && mmsg -d quit" @@ -239,7 +249,7 @@ SCROLL_EOF *) echo "Error: Unsupported compositor: $COMPOSITOR" >&2 - echo "Supported compositors: niri, hyprland, sway, mangowc" >&2 + echo "Supported compositors: niri, hyprland, sway, scroll, mangowc, labwc" >&2 exit 1 ;; esac