···12121313```nix
1414workspace = {
1515- wallpaper = ../../wallpapers/wallpaper.jpg;
1515+ wallpaper = "${../../wallpapers/wallpaper.jpg}";
1616 # ... other settings
1717};
1818```
1919+2020+Note: The string interpolation `"${...}"` is required to convert the path to a Nix store path string.
19212022Applied automatically on every Home Manager rebuild.
2123
+34
scripts/check-wallpaper-containment.sh
···11+#!/usr/bin/env bash
22+# Check the actual containment wallpaper settings
33+44+echo "Checking wallpaper settings in containments..."
55+echo ""
66+77+CONFIG="/home/ewan/.config/plasma-org.kde.plasma.desktop-appletsrc"
88+99+# Find all containment IDs
1010+CONTAINMENTS=$(grep "^\[Containments\]\[[0-9]*\]$" "$CONFIG" | grep -o "[0-9]*")
1111+1212+for id in $CONTAINMENTS; do
1313+ echo "=== Containment $id ==="
1414+1515+ # Check if it's a desktop containment
1616+ TYPE=$(grep -A 50 "^\[Containments\]\[$id\]$" "$CONFIG" | grep "^activityId=" | head -1)
1717+1818+ if [ -n "$TYPE" ]; then
1919+ echo "Type: Desktop containment"
2020+ echo ""
2121+ echo "Wallpaper config:"
2222+ # Get the wallpaper section
2323+ sed -n "/^\[Containments\]\[$id\]\[Wallpaper\]/,/^\[/p" "$CONFIG" | head -30
2424+ echo ""
2525+ fi
2626+done
2727+2828+echo ""
2929+echo "=== Looking for Image= setting ==="
3030+grep -n "^Image=" "$CONFIG" || echo "No Image= setting found!"
3131+echo ""
3232+3333+echo "=== Current plasmarc wallpapers section ==="
3434+grep -A 10 "\[Wallpapers\]" ~/.config/plasmarc
+2-2
settings/plasma/default.nix
···137137 # ── Workspace ─────────────────────────────────────────────────────────────
138138 workspace = {
139139140140- # Wallpaper — direct path to wallpaper.jpg.
141141- wallpaper = ../../wallpapers/wallpaper.jpg;
140140+ # Wallpaper — direct path to wallpaper.jpg (must be string-interpolated).
141141+ wallpaper = "${../../wallpapers/wallpaper.jpg}";
142142143143 # Color scheme — from settings/config/desktop.nix.
144144 # Explicit here so it always wins, even if the catppuccin module changes