#!/bin/env bash

# a script to quickly open up one of my many configs
editor="$TERMINAL -e $EDITOR"

declare -a configs=(
    "Quit"
    "dk - $HOME/.config/dk/dkrc"
    "dk sxhkdrc - $HOME/.config/dk/sxhkdrc"
    "dk autorun - $HOME/.config/dk/autorun.sh"
    "dunst - $HOME/.config/wal/templates/colors.dunstrc"
    "game-run - $HOME/.config/game-run/config.ini"
    "kitty - $HOME/.config/kitty/kitty.conf"
    "lf - $HOME/.config/lf/lfrc"
    "neovim - $HOME/.config/nvim/init.lua"
    "newsboat config - $HOME/.config/newsboat/config"
    "newsboat urls - $HOME/.config/newsboat/urls"
    "picom - $HOME/.config/picom/picom.conf"
    "ryzenset - $HOME/.local/share/ryzen-set/profiles.ini"
    "polybar - $HOME/.config/polybar/config.ini"
    "zathura - $HOME/.config/wal/templates/colors.zathurarc"
    "zsh aliases - $HOME/.config/zsh/aliasrc"
    "zprofile - $HOME/.config/zsh/.zprofile"
    "zshenv - $HOME/.zshenv"
    "zshrc - $HOME/.config/zsh/.zshrc"
    "xinitrc - $HOME/.config/X11/xinitrc"
)

load_config () {
    source $HOME/.config/dmenu/config
}

main () {
    load_config

    choice=$(printf '%s\n' "${configs[@]}" | $DMENU -l 10 -p 'Edit config:')

    [ -z "$choice" ] && exit

    [ "$choice" = "Quit" ] && exit

    cfg=$(printf '%s\n' "${choice}" | awk '{print $NF}')
    $editor "$cfg"
}

main $@