50 lines
1.5 KiB
Nix
50 lines
1.5 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 {
|
|
# 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}";
|
|
};
|
|
}
|