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

View File

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

View File

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