{
  lib,
  lib',
  inputs,
  pkgs,
  config,
  ...
}: let
  inherit (lib'.generators) toHyprConf;
  inherit (config.local.systemVars) username;
  inherit (config.local.style) wallpaper;
  inherit (inputs.hyprpaper.packages.${pkgs.system}) hyprpaper;
in {
  config = lib.mkIf config.local.modules.hyprland.enable {
    hjem.users.${username} = {
      packages = [hyprpaper];
      files = {
        ".config/hypr/hyprpaper.conf".text = toHyprConf {
          attrs = {
            preload = ["${wallpaper}"];
            wallpaper = [", ${wallpaper}"];
          };
        };
      };
    };

    systemd.user.services.hyprpaper = {
      name = "hyprpaper";
      after = ["graphical-session.target"];
      description = "Fast, IPC-controlled wallpaper utility for Hyprland.";
      documentation = ["https://wiki.hyprland.org/Hypr-Ecosystem/hyprpaper/"];
      wantedBy = ["graphical-session.target"];
      restartTriggers = ["${config.hjem.users.${username}.files.".config/hypr/hyprpaper.conf".text}"];
      serviceConfig = {
        Type = "simple";
        ExecStart = "${hyprpaper}/bin/hyprpaper";
        Restart = "on-failure";
        Slice = "background-graphical.slice";
      };
    };
  };
}