#!/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 $@