26 lines
833 B
Nix
Executable File
26 lines
833 B
Nix
Executable File
{ pkgs }:
|
|
pkgs.writeShellApplication {
|
|
name = "chpaper";
|
|
runtimeInputs = with pkgs; [
|
|
chafa
|
|
fzf
|
|
ripgrep
|
|
findutils
|
|
coreutils
|
|
];
|
|
text = ''
|
|
paper="$\{self}/assets/wallpapers/$(find "$FLAKEPATH"/assets/wallpapers -exec basename {} \; | rg "\.\w+$" | fzf --preview "chafa -s 30x40 $FLAKEPATH/assets/wallpapers/{}")"
|
|
[ "$paper" = "$\{self}/assets/wallpapers/" ] && echo "Cancelling wallpaper change" && exit 1
|
|
echo "$paper" | xargs -I {} sed -i '/wallpaper =/s|"[^"]*"|"{}"|' "$FLAKEPATH"/modules/sys/environment/stylix.nix
|
|
echo "Successfully changed wallpaper. Rebuild now?" && \
|
|
select choice in "Yes" "No"; do
|
|
case $choice in
|
|
"Yes")
|
|
rebuild;systemctl --user restart hyprpaper;exit 0;;
|
|
"No")
|
|
echo "Exiting...";exit 0;;
|
|
esac
|
|
done
|
|
'';
|
|
}
|