{ pkgs }: # Wrapper/script for i3-lock to use '~/Pictures/wallpaper.png' as the lock screen pkgs.writeShellScriptBin "lock-screen" '' #!/usr/bin/env sh set -eu WALL="\$\{1:-$HOME/Pictures/wallpaper.png}" TMP="/tmp/lockscreen.png" # Get current resolution (single-monitor friendly) RES=$(xrandr | awk '/\*/ {print $1; exit}') # Scale like feh --bg-fill magick "$WALL" -resize "\$\{RES}^" -gravity center -extent "$RES" "$TMP" i3lock -i "$TMP" ''