This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / 2configs / desktops / sway / wallpaper.nix
1.8 kB 57 lines
1{ 2 pkgs, 3 lib, 4 config, 5 self, 6 ... 7}: 8let 9 inherit (config.users.users.mainUser) name home group; 10 wallpaperDir = "${home}/wallpaper"; 11 12 wallpaper = self.packages.${pkgs.system}.wallpaper; 13in 14{ 15 # Seed ~/wallpaper with the starter live wallpaper (pixel-art road/trees/ 16 # sunset from moewalls, transcoded to 1080p30 without audio). `C` copies it 17 # once when missing, so the user can freely add or delete wallpapers 18 # afterwards without it reappearing. 19 systemd.tmpfiles.rules = [ 20 "d ${wallpaperDir} 0755 ${name} ${group} -" 21 "C ${wallpaperDir}/road-trees-sunset-sky-pixel.mp4 0644 ${name} ${group} - ${./wallpapers/road-trees-sunset-sky-pixel.mp4}" 22 ]; 23 24 # Live wallpaper: mpvpaper renders a random file from ~/wallpaper on the 25 # background layer. noctalia's own wallpaper is disabled (see the noctalia 26 # wrapper) so this shows through. 27 systemd.user.services.wallpaper = { 28 description = "Live desktop wallpaper (mpvpaper)"; 29 partOf = [ "sway-session.target" ]; 30 wantedBy = [ "sway-session.target" ]; 31 after = [ "sway-session.target" ]; 32 serviceConfig = { 33 Type = "simple"; 34 ExecStart = lib.getExe wallpaper; 35 Restart = "on-failure"; 36 RestartSec = 2; 37 }; 38 }; 39 40 # Rotate to a fresh random wallpaper once a day by restarting the service. 41 systemd.user.services.wallpaper-rotate = { 42 description = "Rotate the live desktop wallpaper"; 43 serviceConfig = { 44 Type = "oneshot"; 45 ExecStart = "${lib.getExe' pkgs.systemd "systemctl"} --user restart wallpaper.service"; 46 }; 47 }; 48 49 systemd.user.timers.wallpaper-rotate = { 50 description = "Daily live wallpaper rotation"; 51 wantedBy = [ "timers.target" ]; 52 timerConfig = { 53 OnCalendar = "daily"; 54 Persistent = true; 55 }; 56 }; 57}