fix sddm theme and background preloading

This commit is contained in:
mjallen18
2025-06-26 12:59:38 -05:00
parent 91873cc197
commit ff33dd06cf
3 changed files with 22 additions and 12 deletions

View File

@@ -4,13 +4,14 @@ let
bing-wallpaper = pkgs.writeScriptBin "bing-wallpaper" '' bing-wallpaper = pkgs.writeScriptBin "bing-wallpaper" ''
# Directory to store wallpapers # Directory to store wallpapers
IMG_PATH="/tmp/wallpaper.jpg" IMG_PATH="/run/wallpaper.jpg"
# Download if not already downloaded # Download if not already downloaded
URL=$(curl -s "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1" | \ URL=$(curl -s "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1" | \
jq -r '.images[0].url') jq -r '.images[0].url')
FULL_URL="https://www.bing.com$URL" FULL_URL="https://www.bing.com$URL"
curl -s -o "$IMG_PATH" "$FULL_URL" curl -s -o "$IMG_PATH" "$FULL_URL"
echo "Downloaded $FULL_URL to $IMG_PATH successfully"
''; '';
in in
{ {
@@ -28,6 +29,11 @@ in
extraPackages = [ theme.sddm.package ]; extraPackages = [ theme.sddm.package ];
theme = theme.sddm.themeName; theme = theme.sddm.themeName;
wayland.enable = true; wayland.enable = true;
settings = {
Theme = {
ThemeDir = "${theme.sddm.package}/share/sddm/themes";
};
};
}; };
# Disable gdm # Disable gdm
gdm.enable = lib.mkForce false; gdm.enable = lib.mkForce false;
@@ -60,6 +66,7 @@ in
systemd = { systemd = {
services = { services = {
preload-bing-wallpaper = { preload-bing-wallpaper = {
enable = true;
wants = [ "network.target" ]; wants = [ "network.target" ];
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ];
@@ -72,6 +79,9 @@ in
script = '' script = ''
bing-wallpaper bing-wallpaper
''; '';
serviceConfig = {
Type = "oneshot";
};
}; };
}; };
user.services.polkit-gnome-authentication-agent-1 = { user.services.polkit-gnome-authentication-agent-1 = {

View File

@@ -1,7 +1,7 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }:
let let
theme = import ./theme.nix { inherit pkgs; }; theme = import ./theme.nix { inherit pkgs; };
wallpaper = "/tmp/wallpaper.jpg"; wallpaper = "/run/wallpaper.jpg";
in in
{ {
imports = [ imports = [
@@ -96,10 +96,10 @@ in
hyprpaper = { hyprpaper = {
enable = true; enable = true;
settings = { settings = {
preload = [ "/tmp/wallpaper.jpg" wallpaper ]; preload = [ "/run/wallpaper.jpg" wallpaper ];
wallpaper = [ wallpaper = [
"${theme.displayLeft.input}, /tmp/wallpaper.jpg" "${theme.displayLeft.input}, /run/wallpaper.jpg"
"${theme.displayRight.input}, /tmp/wallpaper.jpg" "${theme.displayRight.input}, /run/wallpaper.jpg"
]; ];
splash = false; splash = false;
}; };

View File

@@ -7,12 +7,12 @@ let
iconThemeVariant = "all"; # [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ] iconThemeVariant = "all"; # [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ]
iconScheme = "nord"; # [ "default" "nord" "dracula" "gruvbox" "everforest" "catppuccin" "all" ] iconScheme = "nord"; # [ "default" "nord" "dracula" "gruvbox" "everforest" "catppuccin" "all" ]
# customized_sddm_astronaut = pkgs.sddm-astronaut.override { sddmThemePkg = pkgs.sddm-astronaut.override {
# embeddedTheme = "hyprland_kath"; embeddedTheme = "astronaut";
# themeConfig = { themeConfig = {
# Background = "path/to/background.jpg"; Background = "/run/wallpaper.jpg";
# }; };
# }; };
in in
{ {
# Displays # Displays
@@ -61,7 +61,7 @@ in
# SDDM/Locking # SDDM/Locking
sddm = { sddm = {
themeName = "sddm-astronaut-theme"; themeName = "sddm-astronaut-theme";
package = pkgs.sddm-astronaut; package = sddmThemePkg;
}; };
lockScreenTimer = 900; # 15 min lockScreenTimer = 900; # 15 min
screenOffTimer = 930; # 15.5 min screenOffTimer = 930; # 15.5 min