{ writeShellApplication, zsh, kitty, fzf,... }: writeShellApplication { name = "custom-librewolfprofiles"; runtimeInputs = [ zsh fzf ]; text = '' # List of profiles profiles=("work" "other") # Use fzf to select selected=$(printf "%s\n" "''${profiles[@]}" | fzf --height 6 --reverse --prompt="Select LibreWolf profile:") # If user cancels, exit [[ -z "$selected" ]] && exit 0 # Launch LibreWolf detached, keeping environment setsid librewolf -P "$selected" --no-remote >/dev/null 2>&1 & pkill -f "kitty.*Select LibreWolf profile" # Exit the kitty terminal after selection exit ''; }