diff --git a/modules/desktop-environments/hyprland/default.nix b/modules/desktop-environments/hyprland/default.nix index 080bc53..03f1017 100755 --- a/modules/desktop-environments/hyprland/default.nix +++ b/modules/desktop-environments/hyprland/default.nix @@ -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 = { diff --git a/modules/desktop-environments/hyprland/home.nix b/modules/desktop-environments/hyprland/home.nix index 77bffe3..4899a9e 100755 --- a/modules/desktop-environments/hyprland/home.nix +++ b/modules/desktop-environments/hyprland/home.nix @@ -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; }; diff --git a/modules/desktop-environments/hyprland/theme.nix b/modules/desktop-environments/hyprland/theme.nix index 08b3e25..a068a45 100644 --- a/modules/desktop-environments/hyprland/theme.nix +++ b/modules/desktop-environments/hyprland/theme.nix @@ -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