{ pkgs, config, lib, wallpapers, ... }: { systemd.user.services.wallpaper = { Unit = { Description = "Wallpaper Switcher daemon"; After = ["graphical-session-pre.target" "xdg-desktop-autostart.target"]; Wants = ["graphical-session-pre.target"]; }; Install.WantedBy = ["graphical-session.target"]; Service = { ExecStart = lib.getExe (pkgs.writeShellApplication { name = "wallpaper"; runtimeInputs = with pkgs; [procps feh swaybg python3]; text = '' export WALLPAPERS_DIR="${wallpapers}" export WALLPAPERS_STATE_FILEPATH="${config.xdg.stateHome}/wallpaper-switcher/switcher_state" export WALLPAPER_WAIT_MIN=60 export WALLPAPER_WAIT_MAX=180 exec ${./wallpaper-switcher.py} ''; }); RestartSec = 3; Restart = "on-failure"; }; }; }