diff --git a/Droidnix/README.org b/Droidnix/README.org index cd5951f86..08de3d045 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -814,7 +814,7 @@ in serviceConfig = { Type = "simple"; - ExecStart = "bash -c '${pkgs.wpaperd}/bin/wpaperd --config ${wallpaperTarget}/wallpaper.conf'"; + ExecStart = "bash -c '${pkgs.wpaperd}/bin/wpaperd --config ${wallpaperTarget}/wallpaper.toml'"; Restart = "on-failure"; RestartSec = 1; }; diff --git a/Droidnix/assets/hyprland/wallpaperstuff/wpaperd-runtime.toml b/Droidnix/assets/hyprland/wallpaperstuff/wallpaper.toml similarity index 100% rename from Droidnix/assets/hyprland/wallpaperstuff/wpaperd-runtime.toml rename to Droidnix/assets/hyprland/wallpaperstuff/wallpaper.toml diff --git a/Droidnix/generated/hyprland/decorations/rotating_wallpaper.nix b/Droidnix/generated/hyprland/decorations/rotating_wallpaper.nix index 77436de4a..6759c49f0 100644 --- a/Droidnix/generated/hyprland/decorations/rotating_wallpaper.nix +++ b/Droidnix/generated/hyprland/decorations/rotating_wallpaper.nix @@ -2,21 +2,42 @@ config, pkgs, lib, - user, flakeRoot, ... }: let wallpaperSource = "${flakeRoot}/assets/hyprland/wallpaperstuff"; + wallpaperTarget = "$HOME/.config/wpaperd"; in { - home-manager.users.${user.username} = { - programs.wpaperd.enable = true; + # Install wpaperd system-wide + environment.systemPackages = with pkgs; [ wpaperd ]; - xdg.configFile."wpaperd/wallpaper.conf".source = "${wallpaperSource}/wpaperd-runtime.toml"; + # Activation script: copy wallpapers & config to ~/.config/wpaperd + system.activationScripts.copyWpaperdConfig = { + text = '' + echo "=== Copying wpaperd config to $HOME/.config/wpaperd ===" + mkdir -p "${wallpaperTarget}" + cp -rT "${wallpaperSource}" "${wallpaperTarget}" + echo "Done." + ''; + deps = [ ]; + }; - # Copy the rest of the folder (if needed) - home.file.".config/wpaperd/".source = wallpaperSource; + # User systemd service (runs on login) + systemd.user.services.wpaperd = { + description = "wpaperd wallpaper daemon"; + after = [ "default.target" ]; + + serviceConfig = { + Type = "simple"; + ExecStart = "bash -c '${pkgs.wpaperd}/bin/wpaperd --config ${wallpaperTarget}/wallpaper.toml'"; + Restart = "on-failure"; + RestartSec = 1; + }; + + wantedBy = [ "default.target" ]; + enable = true; }; }