feat(theme): a splash theme of our own, images in viewnior, a stop timeout for stasis
The Catppuccin splash showed the NixOS logo and the loading animation and
nothing else. The NixOS plymouth module links boot.plymouth.logo into every
theme directory named catppuccin-<flavour>, and the two-step module has no
alignment key for that header image, so its distance from the animation is not
the theme's to set. A theme under a name of its own is outside that loop.
moonarch-plymouth joins as a flake input; pkgs/moonarch-plymouth.nix rewrites
the descriptor's FHS ImageDir to the store path.
Images opened in Chromium although viewnior has been installed since 3e40a70:
no mimeapps.list named image/* at all, so xdg-open took the first candidate
from mimeinfo.cache. xdg.mime points gif, jpeg, png and webp at
viewnior.desktop. webp needs addedAssociations besides, which viewnior.desktop
does not declare, and webp-pixbuf-loader, without which gdk-pixbuf cannot
decode it.
stasis does not answer SIGTERM as part of the session teardown, and the default
90 seconds left the whole user manager waiting on it: niri received its own
SIGTERM only once stasis had been killed, 88 seconds in the journal.
TimeoutStopSec = 5. What it holds is an idle timer, so nothing is lost when it
goes down hard.
glab on the ThinkPad.
This commit is contained in:
1 parent
de70d1794e
commit
dddf236ace
9 files changed
+190
-7
No files matched your search
@@ -193,6 +193,18 @@ in
|
||||
galculator
|
||||
];
|
||||
|
||||
xdg.mime = {
|
||||
defaultApplications = {
|
||||
"image/gif" = "viewnior.desktop";
|
||||
"image/jpeg" = "viewnior.desktop";
|
||||
"image/png" = "viewnior.desktop";
|
||||
"image/webp" = "viewnior.desktop";
|
||||
};
|
||||
addedAssociations."image/webp" = "viewnior.desktop";
|
||||
};
|
||||
|
||||
programs.gdk-pixbuf.modulePackages = [ pkgs.webp-pixbuf-loader ];
|
||||
|
||||
# Polkit agent for privilege prompts inside the session.
|
||||
security.polkit.enable = true;
|
||||
# The setuid pkexec wrapper is opt-in and off by default. Without it pkexec
|
||||
|
||||
@@ -272,6 +272,12 @@ in
|
||||
ExecReload = "${lib.getExe pkgs.stasis} reload";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 2;
|
||||
# Stopped by hand it exits at once; stopped as part of the session it
|
||||
# does not answer SIGTERM, and the default 90 seconds left the whole
|
||||
# user manager waiting on it — niri received its own SIGTERM only once
|
||||
# stasis had been killed. Measured at 88s in the journal. What it holds
|
||||
# is an idle timer, so nothing is lost when it goes down hard.
|
||||
TimeoutStopSec = 5;
|
||||
IPAddressDeny = "any";
|
||||
ProtectProc = "invisible";
|
||||
ProcSubset = "pid";
|
||||
|
||||
+5
-7
@@ -47,11 +47,6 @@ let
|
||||
# it, so the link target below cannot drift from what Kvantum looks up.
|
||||
kvantumThemeName = "catppuccin-mocha-lavender";
|
||||
|
||||
# Mocha like everything else here. The package installs under
|
||||
# share/plymouth/themes/catppuccin-${variant}, which is the name boot.plymouth
|
||||
# asks for. Upstream Catppuccin has no accent variants for Plymouth.
|
||||
plymouthVariant = "mocha";
|
||||
plymouthTheme = pkgs.catppuccin-plymouth.override { variant = plymouthVariant; };
|
||||
in
|
||||
{
|
||||
environment.etc = {
|
||||
@@ -119,10 +114,13 @@ in
|
||||
# With systemd in the initrd, which this configuration uses, systemd asks for
|
||||
# the LUKS passphrase and Plymouth draws that prompt; the script initrd instead
|
||||
# shows it as text before the splash comes up.
|
||||
# The theme carries a name of its own, outside the catppuccin-<flavour> set
|
||||
# that the NixOS plymouth module links its logo into, so the splash shows
|
||||
# what the theme brings and nothing besides.
|
||||
boot.plymouth = {
|
||||
enable = true;
|
||||
theme = "catppuccin-${plymouthVariant}";
|
||||
themePackages = [ plymouthTheme ];
|
||||
theme = "moonarch";
|
||||
themePackages = [ moonarchPkgs.moonarch-plymouth ];
|
||||
};
|
||||
|
||||
# Qt applications are wrapped, so each one looks for plugins in its own
|
||||
|
||||
Reference in new issue
Block a user