diff --git a/faucet/gui/default.nix b/faucet/gui/default.nix index 20ec2c16..a1c7b16e 100644 --- a/faucet/gui/default.nix +++ b/faucet/gui/default.nix @@ -4,6 +4,8 @@ , ... }: with lib; let cfg = config.faucet.gui; in { + imports = [ ./plymouth.nix ]; + options.faucet.gui = { enable = mkEnableOption "various setup required for GUI and support software"; type = mkOption { @@ -31,6 +33,8 @@ in { optional (cfg.type == "amdgpu") "amdgpu"; # has to be enabled even when using wayland services.xserver.enable = true; + # inhibits default display manager + services.xserver.displayManager.startx.enable = mkDefault true; hardware.nvidia = mkIf ((cfg.type == "nvidia") || (cfg.type == "prime")) { modesetting.enable = true; diff --git a/faucet/gui/plymouth.nix b/faucet/gui/plymouth.nix new file mode 100644 index 00000000..2408af6d --- /dev/null +++ b/faucet/gui/plymouth.nix @@ -0,0 +1,23 @@ +{ pkgs +, lib +, config +, ... }: with lib; let + cfg = config.faucet.gui; +in mkIf cfg.enable { + boot = { + loader.timeout = lib.mkDefault 0; + consoleLogLevel = 0; + initrd.verbose = false; + initrd.systemd.enable = true; + plymouth.enable = true; + kernelParams = [ + "quiet" + "splash" + "i915.fastboot=1" + "loglevel=3" + "rd.systemd.show_status=false" + "rd.udev.log_level=3" + "udev.log_priority=3" + ]; + }; +}