36 lines
896 B
Nix
36 lines
896 B
Nix
{
|
|
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";
|
|
}
|