{ config, pkgs, lib, flakeRoot, ... }: let wallpaperSource = "${flakeRoot}/assets/hyprland/wallpaperstuff"; wallpaperTarget = "$HOME/.config/wpaperd"; in { # Install wpaperd system-wide environment.systemPackages = with pkgs; [ wpaperd ]; # Activation script: copy wallpapers & config to ~/.config/wpaperd system.activationScripts.copyWpaperdConfig = { text = '' echo "=== Copying wpaperd config to $HOME/.config/wpaperd ===" mkdir -p "${wallpaperTarget}" cp -rT "${wallpaperSource}" "${wallpaperTarget}" rsync -av --no-group --no-owner "${wallpaperSource}/" "$HOME/Droidnix/" echo "Config files copied from $SOURCE_DIR to $HOME/Droidnix/." echo "Done." ''; deps = [ ]; }; # User systemd service (runs on login) systemd.user.services.wpaperd = { description = "wpaperd wallpaper daemon"; after = [ "default.target" ]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.wpaperd}/bin/wpaperd --config ${wallpaperTarget}/wallpaper.toml"; Restart = "on-failure"; RestartSec = 1; }; wantedBy = [ "default.target" ]; enable = true; }; }