{ pkgs, ... }:
{
  home.packages = with pkgs; [
    (writeShellScriptBin "emoji-picker" ''
      # Define variables
      symbols_dir="$HOME/.local/share/symbols"
      emoji_file="$symbols_dir/emoji"
      nerdfont_file="$symbols_dir/nerdfont"
      recent="$symbols_dir/recent"
      remote="https://git.bitlab21.com/sam/symbols.git"
      
      # Check if emoji files are installed, if not pull from remote
      if [ ! -f "$emoji_file" ] || [ ! -f "$nerdfont_file" ]; then
        notify-send -t 5000 "Emoji Picker" "Symbol files not found. Fetching from: '$remote'..."
        mkdir -p "$symbols_dir"
        git clone "$remote" "$symbols_dir"
        [ "$?" != 0 ] && notify-send -t 2000 "Emoji Picker" "Error fetching from: $remote" && exit 1
      fi
      
      # Concat all emoji files and pipe into dmenu. Remove empty rows with sed. Exit if invalid selection.
      emoji_row=$(cat "$recent" "$emoji_file" "$nerdfont_file" | sed '/^$/d' | dmenu -l 20)
      [ "$emoji_row" == "" ] && notify-send -t 1000 "Emoji Picker" "Cancelled" && exit 0
      [ "$emoji_row" == "**** Recent ****" ] || [ "$emoji_row" == "****************" ] && notify-send -t 1000 "Emoji Picker" "Invalid selection." && exit 1
      
      # Add selected emoji to recent.
      sed -i "/$emoji_row/d" "$recent" && sed -i "2s/^/$emoji_row\n/" "$recent"
      
      # Copy to clipboard
      emoji=$(echo "$emoji_row" | sed 's/\s.*//g')
      echo "$emoji" | xclip -i -r -selection CLIPBOARD
      notify-send -t 5000 "Emoji Picker" "$emoji_row copied to clipboard"
    '')
  ];
}