From f8cdd03c1793c056211c6fb655b17668da8d749c Mon Sep 17 00:00:00 2001 From: kenji Date: Sat, 27 Dec 2025 20:00:13 -0600 Subject: [PATCH] t --- apps/hyprland/hypr/exec.nix | 2 +- apps/hyprpaper/home.nix | 10 +++++----- apps/hyprpaper/switch-wallpaper.nix | 22 ++++++++++++++-------- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/apps/hyprland/hypr/exec.nix b/apps/hyprland/hypr/exec.nix index 038050a..a9eff55 100644 --- a/apps/hyprland/hypr/exec.nix +++ b/apps/hyprland/hypr/exec.nix @@ -4,7 +4,7 @@ ]; wayland.windowManager.hyprland.settings = { exec = [ - "pkill -x hyprpaper; uwsm app -- hyprpaper" + # "pkill -x hyprpaper; uwsm app -- hyprpaper" "killall -SIGUSR2 .ghostty-wrappe" ]; exec-once = [ diff --git a/apps/hyprpaper/home.nix b/apps/hyprpaper/home.nix index 2d7407b..ed8f873 100644 --- a/apps/hyprpaper/home.nix +++ b/apps/hyprpaper/home.nix @@ -2,11 +2,11 @@ services.hyprpaper = { enable = true; settings = { - preload = ["../../assets/Wallpapers/${myConfig.hyprland.wallpaper}"]; - wallpaper = [ - "HDMI-A-1,../../assets/Wallpapers/${myConfig.hyprland.wallpaper}" - ]; + # preload = ["../../assets/Wallpapers/${myConfig.hyprland.wallpaper}"]; + # wallpaper = [ + # "HDMI-A-1,../../assets/Wallpapers/${myConfig.hyprland.wallpaper}" + # ]; }; }; - systemd.user.startServices = "sd-switch"; + # systemd.user.startServices = "sd-switch"; } diff --git a/apps/hyprpaper/switch-wallpaper.nix b/apps/hyprpaper/switch-wallpaper.nix index 467e6f7..e054f78 100644 --- a/apps/hyprpaper/switch-wallpaper.nix +++ b/apps/hyprpaper/switch-wallpaper.nix @@ -1,20 +1,26 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ +{pkgs, ...}: { + home.packages = with pkgs; [ (writeShellScriptBin "switch-wallpaper" '' - WALLPAPER=$(${pkgs.zenity}/bin/zenity --file-selection --title="Select Wallpaper" --file-filter="Images | *.jpg *.jpeg *.png *.gif") + tmp_file=$(mktemp) + target_dir="$HOME/.config/nixos/assets/Wallpapers" + if [ ! -d "$target_dir" ]; then + target_dir="$HOME" + fi + + ${pkgs.yazi}/bin/yazi "$target_dir" --chooser-file="$tmp_file" + WALLPAPER=$(cat "$tmp_file") + rm -f "$tmp_file" if [ -z "$WALLPAPER" ]; then exit 0 fi - # Preload and set wallpaper using hyprctl (requires hyprpaper running) - # We attempt to unload all other wallpapers first to save memory, optionally # ${pkgs.hyprland}/bin/hyprctl hyprpaper unload all - + ${pkgs.hyprland}/bin/hyprctl hyprpaper preload "$WALLPAPER" ${pkgs.hyprland}/bin/hyprctl hyprpaper wallpaper ",$WALLPAPER" + + exec matugen image $WALLPAPER '') ]; }