From fc6049d538af5531d858893c7073b832cf2aa488 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Mon, 31 Mar 2025 13:24:41 +0200 Subject: wpaperd: migrate to "reborn" options --- usecases/desktop/graphical/niri.nix | 1 + usecases/desktop/graphical/wpaperd.nix | 60 ++++++++++++++++++++-------------- 2 files changed, 37 insertions(+), 24 deletions(-) diff --git a/usecases/desktop/graphical/niri.nix b/usecases/desktop/graphical/niri.nix index c41e734..85960dd 100644 --- a/usecases/desktop/graphical/niri.nix +++ b/usecases/desktop/graphical/niri.nix @@ -19,6 +19,7 @@ in swaync.enable = true; waybar.enable = true; wlsunset.enable = true; + wpaperd.enable = true; }; programs.niri.enable = true; diff --git a/usecases/desktop/graphical/wpaperd.nix b/usecases/desktop/graphical/wpaperd.nix index dc3a6eb..404032e 100644 --- a/usecases/desktop/graphical/wpaperd.nix +++ b/usecases/desktop/graphical/wpaperd.nix @@ -1,34 +1,46 @@ inputs: -{ lib, pkgs, ... }: { - # TODO: migrate to services.wpaperd when upgrading from 24.11 to 25.05 - home-manager.users.minijackson.programs.wpaperd = { - enable = true; - - package = pkgs.unstable.wpaperd; + config, + lib, + pkgs, + ... +}: +let + cfg = config.reborn.wpaperd; +in +{ + options.reborn.wpaperd = { + enable = lib.mkEnableOption "Reborn wpaperd config"; + }; - settings.default = { - path = "${inputs.wallpapers}"; - duration = "30m"; - transition.directional-wipe = { }; + config = lib.mkIf cfg.enable { + # TODO: switch to `services.wpaperd` when upgrading from 24.11 -> 25.05 + home-manager.users.minijackson.programs.wpaperd = { + enable = true; + package = pkgs.unstable.wpaperd; + settings.default = { + path = "${inputs.wallpapers}"; + duration = "30m"; + transition.directional-wipe = {}; + }; }; - }; - # TODO: remove when upgrading from 24.11 to 25.05 - systemd.user.services.wpaperd = { - wantedBy = [ "graphical-session.target" ]; + # TODO: remove when upgrading from 24.11 -> 25.05 + systemd.user.services.wpaperd = { + description = "Wallpaper daemon for wayland"; - unitConfig = { - ConditionEnvironment = "WAYLAND_DISPLAY"; - Description = "wpaperd"; - PartOf = [ "graphical-session.target" ]; - After = [ "graphical-session.target" ]; - }; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + + unitConfig.ConditionEnvironment = "WAYLAND_DISPLAY"; - serviceConfig = { - ExecStart = "${lib.getExe pkgs.unstable.wpaperd}"; - Restart = "always"; - RestartSec = "10"; + serviceConfig = { + Type = "simple"; + ExecStart = lib.getExe pkgs.unstable.wpaperd; + Restart = "on-failure"; + RestartSec = 1; + }; }; }; } -- cgit v1.2.3