moby: sxmo: fix phog to log its output

This commit is contained in:
Colin 2023-08-26 09:40:07 +00:00
parent 39a378c517
commit 7b637f976b

View File

@ -37,7 +37,7 @@
# - live in ~/.local/state/sxmo.log # - live in ~/.local/state/sxmo.log
# - ~/.local/state/superd.log # - ~/.local/state/superd.log
# - ~/.local/state/superd/logs/<daemon>.log # - ~/.local/state/superd/logs/<daemon>.log
# - `journalctl --user --boot` (lightm redirects the sxmo session stdout => systemd) # - `journalctl --user --boot` (lightdm redirects the sxmo session stdout => systemd)
# #
# - default components: # - default components:
# - DE: sway (if wayland), dwm (if X) # - DE: sway (if wayland), dwm (if X)
@ -65,13 +65,13 @@ in
type = types.bool; type = types.bool;
}; };
sane.gui.sxmo.greeter = mkOption { sane.gui.sxmo.greeter = mkOption {
type = types.enum [ "lightdm-mobile" "phog" "sway" ]; type = types.enum [ "lightdm-mobile" "greetd-phog" "sway" ];
default = "lightdm-mobile"; default = "lightdm-mobile";
# default = "phog"; # phog/greetd seems to significantly worsen graphics & perf. like it breaks GL acceleration? TODO: try phog via lightdm # default = "greetd-phog"; # phog/greetd seems to significantly worsen graphics & perf. like it breaks GL acceleration? TODO: try phog via lightdm
description = '' description = ''
which greeter to use. which greeter to use.
"lightdm-mobile" => keypad style greeter. can only enter digits 0-9 as password. "lightdm-mobile" => keypad style greeter. can only enter digits 0-9 as password.
"phog" => phosh-based greeter. keypad (0-9) with option to open an on-screen keyboard. "greetd-phog" => phosh-based greeter. keypad (0-9) with option to open an on-screen keyboard.
"sway" => layered sway greeter. behaves as if you booted to swaylock. "sway" => layered sway greeter. behaves as if you booted to swaylock.
''; '';
}; };
@ -345,18 +345,23 @@ in
}; };
}) })
(lib.mkIf (cfg.greeter == "phog") { (lib.mkIf (cfg.greeter == "greetd-phog") {
services.greetd = { services.greetd = {
enable = true; enable = true;
settings.default_session.command = "${pkgs.phog}/bin/phog";
# this would be nice for debugging, but greetd swallows the logs: # launch directly: but stdout/stderr gets dropped
# settings.default_session.command = # settings.default_session.command = "${pkgs.phog}/bin/phog";
# let
# launch-phog = pkgs.writeShellScriptBin "launch-phog" '' # wrapper to launch phog and redirect logs to system journal.
# echo "launching phog..." # it's not labeled, just /nix/store/<...>
# G_MESSAGES_DEBUG=all ${pkgs.phog}/bin/phog settings.default_session.command =
# ''; let
# in "${launch-phog}/bin/launch-phog" ; systemd-cat = "${pkgs.systemd}/bin/systemd-cat";
launch-phog = pkgs.writeShellScriptBin "launch-phog" ''
echo "launching phog..." | ${systemd-cat}
G_MESSAGES_DEBUG=all ${pkgs.phog}/bin/phog 2>&1 | ${systemd-cat}
'';
in "${launch-phog}/bin/launch-phog" ;
}; };
environment.pathsToLink = [ "/share/wayland-sessions" ]; environment.pathsToLink = [ "/share/wayland-sessions" ];
}) })