Files
nixos/Droidnix/generated/hyprland/decorations/rotating_wallpaper.nix
T
2026-03-17 16:11:36 +00:00

57 lines
1.9 KiB
Nix

{
lib,
config,
pkgs,
flakeRoot,
...
}:
let
# Define source and destination paths
script_path = "${flakeRoot}/assets/hyprland/scripts";
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 {
# Use a script to copy all files from source to destination
home-manager.users.${config.home.username}.home.file."${script_path}/copy-wallpapers.sh".text = ''
#!${pkgs.bash}/bin/bash
#cp -r "${source_path}"/* "${destination_path}/"
set -euo pipefail
# Source and destination directories
SOURCE_DIR="${source_path}"
DEST_DIR="${destination_path}"
# Check if source directory exists
if [ ! -d "$SOURCE_DIR" ]; then
echo "Error: Source directory $SOURCE_DIR does not exist."
fi
# Use rsync to copy files, overwriting symlinks and existing files
# --no-group --no-owner preserves your user ownership
rsync -av --no-group --no-owner "$SOURCE_DIR/" "$DEST_DIR/"
echo "Config files copied from $SOURCE_DIR to $DEST_DIR. Symlinks replaced with editable files."
'';
home-manager.users.${config.home.username}.home.file."${script_path}/copy-wallpapers.sh".executable =
true;
# Run the script on activation
home-manager.users.${config.home.username}.home.activation.copy-wallpapers.script = ''
"${script_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;
};
}