diff --git a/hosts/goopnet-interface/apple-macbook-air-9-1.nix b/hosts/goopnet-interface/apple-macbook-air-9-1.nix index 2fe9241..6737950 100644 --- a/hosts/goopnet-interface/apple-macbook-air-9-1.nix +++ b/hosts/goopnet-interface/apple-macbook-air-9-1.nix @@ -57,8 +57,7 @@ boot.kernelParams = [ # enable the i915 sandybridge framebuffer compression (475mw savings) - "i915.i915_enable_fbc=1" - "i915.fastboot=1" + "i915.enable_fbc=1" "i915.enable_gvt=1" ]; } \ No newline at end of file diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 0c3c598..5acb10c 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -60,8 +60,9 @@ gammastep.enable = true; clipse.enable = true; - # display manager + # display manager + boot splash sddm.enable = true; + plymouth.enable = true; # theme, see `modules/desktop/themes` themes.active = "catppuccin"; diff --git a/modules/desktop/plymouth.nix b/modules/desktop/plymouth.nix new file mode 100644 index 0000000..6d1ca73 --- /dev/null +++ b/modules/desktop/plymouth.nix @@ -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" + ]; + }; + }; + }; +} \ No newline at end of file diff --git a/modules/desktop/themes/catppuccin/default.nix b/modules/desktop/themes/catppuccin/default.nix index edd6bbd..a3008bb 100644 --- a/modules/desktop/themes/catppuccin/default.nix +++ b/modules/desktop/themes/catppuccin/default.nix @@ -52,6 +52,13 @@ in { }); }; + plymouthTheme = { + name = "catppuccin-${variant}"; + package = (pkgs.catppuccin-plymouth.override { + variant = variant; + }); + }; + editor = { vscode = { colorTheme = { diff --git a/modules/desktop/themes/default.nix b/modules/desktop/themes/default.nix index 65e03cf..3936375 100644 --- a/modules/desktop/themes/default.nix +++ b/modules/desktop/themes/default.nix @@ -34,6 +34,10 @@ in { name = mkOpt str ""; package = mkPackageOption pkgs "sddm" {}; }; + plymouthTheme = { + name = mkOpt str ""; + package = mkPackageOption pkgs "plymouth" {}; + }; editor = { vscode = {