{ lib, config, ... }: let inherit (lib) mkIf mkEnableOption; inherit (builtins) concatStringsSep; cfg = config.horseman.dots.hypr.hyprpaper; username = config.horseman.username; hypr = config.horseman.wm.hyprland.config; in { options = { horseman.dots.hypr.hyprpaper = { enable = mkEnableOption "~/.config/hypr/hyprpaper.conf"; }; }; config = mkIf cfg.enable { home-manager.users.${username}.xdg.configFile."hypr/hyprpaper.conf".text = '' ${concatStringsSep "\n" (map (dis: if dis.wallpaper != null then '' preload = ${dis.wallpaper} wallpaper = ${dis.output}, ${dis.wallpaper} '' else "") hypr.monitors.displays)} preload = /home/${username}/nix-config/misc/wallpaper.jpg wallpaper = , /home/${username}/nix-config/misc/wallpaper.jpg ''; }; }