55 lines
1.4 KiB
Nix
55 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
assetRel,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
accentColor = "#306cf8";
|
|
monitors = config.monitors;
|
|
themePkg = pkgs.sddm-astronaut.override {
|
|
themeConfig = {
|
|
Background = "${assetRel "login_wallpaper.jpg"}";
|
|
|
|
FullBlur = "false";
|
|
PartialBlur = "true";
|
|
HideVirtualKeyboard = "true";
|
|
HideLoginButton = "true";
|
|
|
|
BlurMax = "170";
|
|
Blur = "0.8";
|
|
HaveFormBackground = "false";
|
|
FormPosition = "right";
|
|
|
|
HighlightBorderColor = accentColor;
|
|
HighlightBackgroundColor = accentColor;
|
|
DropdownSelectedBackgroundColor = accentColor;
|
|
HoverUserIconColor = accentColor;
|
|
HoverPasswordIconColor = accentColor;
|
|
HoverSystemButtonsIconsColor = accentColor;
|
|
HoverSessionButtonTextColor = accentColor;
|
|
HoverVirtualKeyboardButtonTextColor = accentColor;
|
|
WarningColor = accentColor;
|
|
};
|
|
};
|
|
in
|
|
{
|
|
services.displayManager.sddm = {
|
|
enable = true;
|
|
theme = "sddm-astronaut-theme";
|
|
# Force the use qt6 based sddm, as the default is still qt5
|
|
package = lib.mkForce pkgs.kdePackages.sddm;
|
|
extraPackages = [ themePkg ];
|
|
};
|
|
# Disable all non-primary monitors on the login screen
|
|
services.xserver.displayManager.setupCommands = lib.concatStringsSep "\n" (
|
|
map (m: "${pkgs.xorg.xrandr}/bin/xrandr --output ${m.name} --off") (
|
|
lib.filter (m: !m.isPrimary) monitors
|
|
)
|
|
);
|
|
|
|
environment.systemPackages = [
|
|
themePkg
|
|
];
|
|
}
|