{ lib, config, pkgs, flakeRoot, ... }: let # Define source and destination paths source_path = "${flakeRoot}/assets/hyprland/wallpaperstuff"; destination_path = "${config.home.homeDirectory}/Droidnix/wallpaperstuff"; script_path = "${flakeRoot}/assets/hyprland/scripts/copy_wallpaperstuff.sh"; wallpaper_conf = "${flakeRoot}/assets/hyprland/wallpaperstuff/wallpaper.conf"; in { options = { wallpaper.enable = lib.mkEnableOption "Wallpaper setup"; }; config = lib.mkIf config.wallpaper.enable { # Debug: Print activation message builtins.trace "=== Wallpaper module is enabled ==="; # Debug: Print paths to verify they're correct builtins.trace ( lib.concatStringsSep "\n" [ "=== Wallpaper Module Debug ===" "Source path: ${source_path}" "Destination path: ${destination_path}" "Script path: ${script_path}" "Wallpaper config: ${wallpaper_conf}" "=== End of Debug ===" ] ); # Ensure the script is executable home-manager.users.${config.home.username}.home.file."${script_path}".executable = true; # Debug: Print script path builtins.trace "Script path: ${script_path}"; # Run the script on activation home-manager.users.${config.home.username}.home.activation.copy-wallpapers = lib.mkMerge [ { script = '' echo "=== Activation Script Running ===" echo "Script path: ${script_path}" if [ -f "${script_path}" ]; then echo "Script exists, executing..." "${script_path}" else echo "ERROR: Script does not exist at ${script_path}" exit 1 fi ''; } ]; # Install wpaperd home-manager.users.${config.home.username}.home.packages = [ pkgs.wpaperd ]; # Debug: Print wpaperd installation builtins.trace "Installing wpaperd..."; # Configure wpaperd home-manager.users.${config.home.username}.home.file."${config.home.homeDirectory}/.config/wpaperd/config.toml".text = builtins.readFile "${wallpaper_conf}"; # Debug: Print config file path builtins.trace "Config file path: ${config.home.homeDirectory}/.config/wpaperd/config.toml"; }; }