This commit is contained in:
Reid 2024-10-01 20:02:00 -07:00
parent 1729b6497a
commit dfcb53a44e
Signed by: reidlab
GPG key ID: DAF5EAF6665839FD
5 changed files with 54 additions and 3 deletions

View file

@ -0,0 +1,40 @@
{ pkgs, lib, config, ... }:
with lib;
let
cfg = config.modules.desktop.plymouth;
in {
options.modules.desktop.plymouth = {
enable = mkEnableOption "Enable plymouth, a graphical boot splash screen";
};
config = mkIf cfg.enable {
boot.plymouth = {
enable = true;
themePackages = [ config.modules.desktop.themes.plymouthTheme.package ];
theme = config.modules.desktop.themes.plymouthTheme.name;
};
# smooth transition from plymouth to the login manager
# honestly, i have No Clue what this does, but it's in the arch wiki so it must be good
# https://wiki.archlinux.org/title/Plymouth#Smooth_transition
# we aren't actually replacing anything here, nix merges it into the existing service for us :3
systemd.services.display-manager = {
conflicts = [ "plymouth-quit.service" ];
after = [
"plymouth-quit.service"
"plymouth-start.service"
"systemd-user-sessions.service"
];
onFailure = [ "plymouth-quit.service" ];
serviceConfig = {
ExecStartPost = [
"-${pkgs.coreutils}/bin/sleep 30"
"-${pkgs.plymouth}/bin/plymouth quit --retain-splash"
];
};
};
};
}

View file

@ -52,6 +52,13 @@ in {
});
};
plymouthTheme = {
name = "catppuccin-${variant}";
package = (pkgs.catppuccin-plymouth.override {
variant = variant;
});
};
editor = {
vscode = {
colorTheme = {

View file

@ -34,6 +34,10 @@ in {
name = mkOpt str "";
package = mkPackageOption pkgs "sddm" {};
};
plymouthTheme = {
name = mkOpt str "";
package = mkPackageOption pkgs "plymouth" {};
};
editor = {
vscode = {