Files
nixos/Droidnix/generated/hyprland/decorations/rotating_wallpaper.nix
T
2026-03-17 17:54:19 +00:00

68 lines
2.2 KiB
Nix

{ 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";
};
}