{ 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 { # Ensure the script is executable home-manager.users.${config.home.username}.home.file."${script_path}".executable = true; # Run the script on activation home-manager.users.${config.home.username}.home.activation.copy-wallpapers = { description = "Copy wallpapers and set up wpaperd"; script = '' echo "=== Activation Script Running ===" echo "Script path: ${script_path}" if [ -f "${script_path}" ]; then echo "Script exists, executing..." chmod +x "${script_path}" "${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 = with pkgs; [ wpaperd ]; # Create the config directory and file for wpaperd home-manager.users.${config.home.username}.xdg.configFile."wpaperd/config.toml".text = builtins.readFile "${wallpaper_conf}"; }; }