Files
nixos/Droidnix/generated/hyprland/decorations/rotating_wallpaper.nix
T
2026-03-17 15:58:26 +00:00

47 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";
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}".source = null;
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
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;
};
}