diff --git a/assets/wallpapers/topography-dark.jpg b/assets/wallpapers/topography-dark.jpg new file mode 100644 index 0000000..9f24489 Binary files /dev/null and b/assets/wallpapers/topography-dark.jpg differ diff --git a/assets/wallpapers/topography-light.jpg b/assets/wallpapers/topography-light.jpg new file mode 100644 index 0000000..ba106b4 Binary files /dev/null and b/assets/wallpapers/topography-light.jpg differ diff --git a/lib/theme.nix b/lib/theme.nix index e9ec0cf..f30e006 100644 --- a/lib/theme.nix +++ b/lib/theme.nix @@ -13,6 +13,10 @@ let aquaNeutral = "#689d6a"; gray = "#928374"; }; + wallpapers = { + dark = ../assets/wallpapers/topography-dark.jpg; + light = ../assets/wallpapers/topography-light.jpg; + }; paths = { stateDir = "${config.xdg.stateHome}/theme"; stateFile = "${config.xdg.stateHome}/theme/current"; @@ -263,5 +267,6 @@ in renderTmux renderZshHighlights themes + wallpapers ; } diff --git a/scripts/default.nix b/scripts/default.nix index 6313cdf..2e7cd9f 100644 --- a/scripts/default.nix +++ b/scripts/default.nix @@ -102,6 +102,8 @@ let "@TMUX_DARK_FILE@" = "${tmuxConfigs.dark}"; "@TMUX_LIGHT_FILE@" = "${tmuxConfigs.light}"; "@TMUX_CONFIG@" = "${config.xdg.configHome}/tmux/tmux.conf"; + "@WALLPAPER_DARK_FILE@" = "${theme.wallpapers.dark}"; + "@WALLPAPER_LIGHT_FILE@" = "${theme.wallpapers.light}"; }; }; }; diff --git a/scripts/theme.sh b/scripts/theme.sh index 2a1c4fa..f3a6908 100644 --- a/scripts/theme.sh +++ b/scripts/theme.sh @@ -26,12 +26,14 @@ link_mode_assets() { fzf_target="@FZF_DARK_FILE@" ghostty_target="@GHOSTTY_DARK_FILE@" tmux_target="@TMUX_DARK_FILE@" + wallpaper="@WALLPAPER_DARK_FILE@" apple_dark_mode=true ;; light) fzf_target="@FZF_LIGHT_FILE@" ghostty_target="@GHOSTTY_LIGHT_FILE@" tmux_target="@TMUX_LIGHT_FILE@" + wallpaper="@WALLPAPER_LIGHT_FILE@" apple_dark_mode=false ;; *) @@ -53,6 +55,8 @@ link_mode_assets() { if [[ "$(uname -s)" == "Darwin" ]] && command -v osascript >/dev/null 2>&1; then osascript -e "tell application \"System Events\" to tell appearance preferences to set dark mode to ${apple_dark_mode}" >/dev/null 2>&1 || true + osascript -e "tell application \"System Events\" to tell every desktop to set picture to \"${wallpaper}\"" >/dev/null 2>&1 || true + osascript <<'EOF' >/dev/null 2>&1 || true tell application "System Events" if not (exists process "Ghostty") then