{ lib, config, pkgs, flakeRoot, ... }: let # Define source and destination paths source_path = "${flakeRoot}/assets/hyprland/wallpaperstuff"; destination_path = "${config.home.homeDirectory}/Droidnix/wallpaperstuff"; wallpaper_conf = "${flakeRoot}/assets/hyprland/wallpaperstuff/wallpaper.conf"; in { options = { wallpaper.enable = lib.mkEnableOption "Wallpaper setup"; }; config = lib.mkIf config.wallpaper.enable { # Ensure the destination directory exists home-manager.users.${config.home.username}.home.file."${destination_path}".createDir = true; # Use a script to copy all files from source to destination home-manager.users.${config.home.username}.home.file."${destination_path}/copy-wallpapers.sh".text = '' #!${pkgs.bash}/bin/bash mkdir -p "${destination_path}" cp -r "${source_path}"/* "${destination_path}/" ''; home-manager.users.${config.home.username}.home.file."${destination_path}/copy-wallpapers.sh".executable = true; # Run the script on activation home-manager.users.${config.home.username}.home.activation.copy-wallpapers.script = '' "${destination_path}/copy-wallpapers.sh" ''; # Install wpaperd home-manager.users.${config.home.username}.home.packages = [ pkgs.wpaperd ]; # Configure wpaperd home-manager.users.${config.home.username}.home.file."${config.home.homeDirectory}/.config/wpaperd/config.toml".text = builtins.readFile wallpaper_conf; }; }