reo101
c57ddea18b
Sets the background of all spaces on all displays/desktops to an image (passed as a command-line argument) preserving the focused spaces and window after running Depends on `yabai` (>`System Integrity Protection must be partially disabled.`) and `jq` Written in `applescript`
27 lines
528 B
Nix
27 lines
528 B
Nix
{ lib
|
|
, writeShellScriptBin
|
|
, symlinkJoin
|
|
, makeWrapper
|
|
, jq
|
|
, yabai
|
|
}:
|
|
|
|
let
|
|
# NOTE: passing `${1}` because `${0}` resolves to the `.setbg-wrapped` path
|
|
setWallpaperUnwrapped =
|
|
writeShellScriptBin "setbg" ''
|
|
osascript ${./setbg.scpt} "''${1}"
|
|
'';
|
|
in
|
|
symlinkJoin {
|
|
name = "setbg";
|
|
paths = [ setWallpaperUnwrapped ];
|
|
buildInputs = [ makeWrapper ];
|
|
postBuild = ''
|
|
wrapProgram $out/bin/setbg \
|
|
--prefix PATH : ${lib.makeBinPath [
|
|
jq
|
|
yabai
|
|
]}
|
|
'';
|
|
}
|