{ pkgs, config, lib, myConfig, ... }: let wallpaperDir = "${config.home.homeDirectory}/.config/nixos/assets/Wallpapers"; defaultWallpaper = "${wallpaperDir}/${myConfig.hyprland.wallpaper}"; cacheWallpaper = "${config.home.homeDirectory}/.cache/current_wallpaper"; in { services.hyprpaper = { enable = true; settings = { preload = [cacheWallpaper]; wallpaper = [ ",${cacheWallpaper}" ]; }; }; home.activation.setupWallpaper = lib.hm.dag.entryAfter ["writeBoundary"] '' if [ ! -f "${cacheWallpaper}" ]; then mkdir -p "$(dirname "${cacheWallpaper}")" if [ -f "${defaultWallpaper}" ]; then cp "${defaultWallpaper}" "${cacheWallpaper}" else echo "Default wallpaper not found at ${defaultWallpaper}" touch "${cacheWallpaper}" fi fi ''; systemd.user.startServices = "sd-switch"; }