aboutsummaryrefslogtreecommitdiff
path: root/scripts/.scripts/config_files.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/.scripts/config_files.sh')
-rwxr-xr-xscripts/.scripts/config_files.sh36
1 files changed, 34 insertions, 2 deletions
diff --git a/scripts/.scripts/config_files.sh b/scripts/.scripts/config_files.sh
index c4d5451..8642cf4 100755
--- a/scripts/.scripts/config_files.sh
+++ b/scripts/.scripts/config_files.sh
@@ -1,4 +1,36 @@
#!/usr/bin/sh
-file=$(find "$HOME/dotfiles/" -type f | dmenu -l 20 -p "open config file")
-kitty -e nvim $file
+configs=("aliases:$HOME/dotfiles/aliases/.aliases/aliases"
+ "alacritty:$HOME/dotfiles/alacritty/.config/alacritty/alacritty.toml"
+ "awesome:$HOME/dotfiles/awesome/.config/awesome/rc.lua"
+ "kitty:$HOME/dotfiles/kitty/.config/kitty/kitty.conf"
+ "hyprland:$HOME/dotfiles/hypr/.config/hypr/hyprland.conf"
+ "vim:$HOME/dotfiles/vim/.vimrc"
+ "neovim:$HOME/dotfiles/nvim/.config/nvim/init.lua"
+ "starship:$HOME/dotfiles/starship/.config/starship.toml"
+ "tmux:$HOME/dotfiles/tmux/.tmux.conf"
+ "zathura:$HOME/dotfiles/zathura/.config/zathura/zathurarc"
+ "zsh:$HOME/dotfiles/zsh/.zshrc")
+
+configs=$(printf '%s\n' "${configs[@]}")
+
+# Detect whether we're in a Wayland or X11 session
+if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
+ # Wayland session - use wofi
+ launcher="wofi --dmenu -i -l 10"
+elif [ "$XDG_SESSION_TYPE" = "x11" ]; then
+ # X11 session - use dmenu
+ launcher="dmenu -i -l 10 -p 'open config file'"
+else
+ echo "Error: Could not detect display server (Wayland or X11)."
+ exit 1
+fi
+
+program_names=$(echo "$configs" | cut -d':' -f1)
+
+choice=$(echo "$program_names" | $launcher)
+
+file=$(echo "$configs" | grep -w "$choice" | cut -d':' -f2)
+
+cwd=$(dirname $file)
+kitty -e nvim -c "cd $cwd" $file