sxmo: persist the fontconfig and mesa_shader_cache directories for faster boot
This commit is contained in:
parent
b83b2ce0cc
commit
a045eaa181
|
@ -341,9 +341,7 @@ in
|
||||||
settings.default_session.command =
|
settings.default_session.command =
|
||||||
let
|
let
|
||||||
# start sway and have it construct the gtkgreeter
|
# start sway and have it construct the gtkgreeter
|
||||||
sway-as-greeter = pkgs.writeShellScriptBin "sway-as-greeter" ''
|
sway-as-greeter = runWithLogger "sway-as-greeter" "${pkgs.sway}/bin/sway --debug --config ${sway-config-into-gtkgreet}";
|
||||||
${pkgs.sway}/bin/sway --debug --config ${sway-config-into-gtkgreet} > /var/log/sway/sway-as-greeter.log 2>&1
|
|
||||||
'';
|
|
||||||
# (config file for the above)
|
# (config file for the above)
|
||||||
sway-config-into-gtkgreet = pkgs.writeText "greetd-sway-config" ''
|
sway-config-into-gtkgreet = pkgs.writeText "greetd-sway-config" ''
|
||||||
exec "${gtkgreet-launcher}"
|
exec "${gtkgreet-launcher}"
|
||||||
|
@ -354,12 +352,7 @@ in
|
||||||
# so that command must exist on the specific user's path who is logging in. it doesn't need to exist system-wide.
|
# so that command must exist on the specific user's path who is logging in. it doesn't need to exist system-wide.
|
||||||
${pkgs.greetd.gtkgreet}/bin/gtkgreet --layer-shell --command sxmo_winit.sh
|
${pkgs.greetd.gtkgreet}/bin/gtkgreet --layer-shell --command sxmo_winit.sh
|
||||||
'';
|
'';
|
||||||
in "${sway-as-greeter}/bin/sway-as-greeter";
|
in "${sway-as-greeter}";
|
||||||
};
|
|
||||||
|
|
||||||
sane.fs."/var/log/sway" = {
|
|
||||||
dir.acl.mode = "0777";
|
|
||||||
wantedBeforeBy = [ "greetd.service" "display-manager.service" ];
|
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -370,22 +363,23 @@ in
|
||||||
settings.default_session.command =
|
settings.default_session.command =
|
||||||
let
|
let
|
||||||
# start sway and have it construct the greeter
|
# start sway and have it construct the greeter
|
||||||
sway-as-greeter = pkgs.writeShellScriptBin "sway-as-greeter" ''
|
sway-as-greeter = runWithLogger "sway-as-greeter" "${pkgs.sway}/bin/sway --debug --config ${sway-config-into-phog}";
|
||||||
${pkgs.sway}/bin/sway --debug --config ${sway-config-into-phog} > /var/log/sway/sway-as-greeter.log 2>&1
|
|
||||||
'';
|
|
||||||
# (config file for the above)
|
# (config file for the above)
|
||||||
sway-config-into-phog = pkgs.writeText "greetd-sway-config" ''
|
sway-config-into-phog = pkgs.writeText "greetd-sway-config" ''
|
||||||
exec "${pkgs.phog}/libexec/phog"
|
exec "${pkgs.phog}/libexec/phog"
|
||||||
'';
|
'';
|
||||||
in "${sway-as-greeter}/bin/sway-as-greeter";
|
in "${sway-as-greeter}";
|
||||||
};
|
};
|
||||||
# phog locates sxmo_winit.sh via <env>/share/wayland-sessions
|
# phog locates sxmo_winit.sh via <env>/share/wayland-sessions
|
||||||
environment.pathsToLink = [ "/share/wayland-sessions" ];
|
environment.pathsToLink = [ "/share/wayland-sessions" ];
|
||||||
|
|
||||||
sane.fs."/var/log/sway" = {
|
# persisting fontconfig & mesa_shader_cache improves start time from like 6 minutes to 1 minute
|
||||||
dir.acl.mode = "0777";
|
# TODO: this should apply to any greetd implementation
|
||||||
wantedBeforeBy = [ "greetd.service" "display-manager.service" ];
|
users.users.greeter.home = "/var/lib/greeter";
|
||||||
};
|
sane.persist.sys.plaintext = [
|
||||||
|
{ user = "greeter"; group = "greeter"; path = "/var/lib/greeter/.cache/fontconfig"; }
|
||||||
|
{ user = "greeter"; group = "greeter"; path = "/var/lib/greeter/.cache/mesa_shader_cache"; }
|
||||||
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
(lib.mkIf (cfg.greeter == "greetd-phog") {
|
(lib.mkIf (cfg.greeter == "greetd-phog") {
|
||||||
|
@ -398,7 +392,7 @@ in
|
||||||
# wrapper to launch phog and redirect logs to system journal.
|
# wrapper to launch phog and redirect logs to system journal.
|
||||||
settings.default_session.command = let
|
settings.default_session.command = let
|
||||||
launch-phog = runWithLogger "phog" "${pkgs.phog}/bin/phog";
|
launch-phog = runWithLogger "phog" "${pkgs.phog}/bin/phog";
|
||||||
in "${launch-phog}" ;
|
in "${launch-phog}";
|
||||||
};
|
};
|
||||||
environment.pathsToLink = [ "/share/wayland-sessions" ];
|
environment.pathsToLink = [ "/share/wayland-sessions" ];
|
||||||
})
|
})
|
||||||
|
@ -406,13 +400,11 @@ in
|
||||||
(lib.mkIf (cfg.greeter == "greetd-sxmo") {
|
(lib.mkIf (cfg.greeter == "greetd-sxmo") {
|
||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings.default_session = {
|
||||||
default_session = {
|
command = let
|
||||||
command = let
|
launch-sxmo = runWithLogger "sxmo" "${cfg.package}/bin/sxmo_winit.sh";
|
||||||
launch-sxmo = runWithLogger "sxmo" "${cfg.package}/bin/sxmo_winit.sh";
|
in "${launch-sxmo}";
|
||||||
in "${launch-sxmo}";
|
user = "colin";
|
||||||
user = "colin";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue
Block a user