Trying to override exec in pkg, but getting `value is a list while a set was expected`

Hello, I’m currently trying to override the exec flag in an .desktop file, but I’m running into an issue.

The relevant code is this:

(vesktop.overrideAttrs (e: rec {
      desktopItem = e.desktopItems.override (d:{
        exec = "${d.exec} && systemctl --user restart mpd.discord.rpc";
        });
        installPhase = builtins.replaceStrings [ "${e.desktopItem}" ] [ "${desktopItem}" ] e.installPhase;
    }))

But when I build home-manager with --show-trace, it returns this error:

28|     (vesktop.overrideAttrs (e: rec {
           29|       desktopItem = e.desktopItems.override (d:{
             |       ^
           30|         exec = "${d.exec} && systemctl --user restart mpd.discord.rpc";

       error: value is a list while a set was expected

I’m probably doing something stupid, but any help would be greatly appreciated.