1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/configs/wallpaper.nix
2026-01-06 22:46:12 +01:00

40 lines
957 B
Nix

{
pkgs,
lib,
...
}:
let
# url = "http://wallpaper.r/realwallpaper-krebs-stars-berlin.png";
url = "http://wallpaper.r/realwallpaper-krebs.png";
stateDir = "~/.cache/wallpaper";
in
{
systemd.user.services.wallpaper = {
wantedBy = [ "graphical-session.target" ];
after = [ "network.target" ];
path = [
pkgs.curl
pkgs.hyprland
];
script = ''
set -euf
mkdir -p ${stateDir}
chmod o+rx ${stateDir}
cd ${stateDir}
(${pkgs.curl}/bin/curl -s -o wallpaper.tmp -z wallpaper.tmp ${lib.escapeShellArg url} && cp wallpaper.tmp wallpaper.png) || :
hyprctl hyprpaper preload ${stateDir}/wallpaper.png
hyprctl hyprpaper wallpaper ",${stateDir}/wallpaper.png"
sleep 5
hyprctl hyprpaper unload unused
true
'';
startAt = "*:00,10,20,30,40,50";
serviceConfig = {
Restart = "on-failure";
RestartSec = "15s";
StartLimitBurst = 0;
};
};
}