#!/bin/bash # jeremystartm's dotfiles "installer" if [ ! -f "$HOME/.config/.jstm_dotfiles" ]; then echo ":: Removing files" ./uninstall.sh &> /dev/null fi # useful function function link() { if [ -a "${HOME}/${2}" ]; then [[ -n "$VERBOSE_WARNING" ]] && echo ":: Warning: ${2} already exists." else echo ":: Linking ${2}" ln -s "$(pwd)/${1}" "${HOME}/${2}" fi } # update/clone repositories if [ ! -d "dracula-mc" ]; then git clone "https://github.com/dracula/midnight-commander.git" dracula-mc else cd dracula-mc git pull cd .. fi if [ ! -d "jstmbash" ]; then git clone "https://git.staropensource.de/JeremyStarTM/jstmbash.git" jstmbash else cd jstmbash git pull cd .. fi # create directories mkdir -p "${HOME}/.config" "${HOME}/.local/share/mc/skins" "${HOME}/.local/bin" # jobrunner link "jobrunner/daemon.sh" ".local/bin/jobrunner" link "jobrunner/runjob.sh" ".local/bin/jobrunner-runjob" # bash configuration link "jstmbash" ".jstmbash" link "lone-files/jstmbash.config.env" ".config/jstmbash.env" link "lone-files/starship.toml" ".config/starship.toml" link "lone-files/bashrc" ".bashrc" # wm/compositor link "hypr" ".config/hypr" link "waybar" ".config/waybar" link "fnott" ".config/fnott" link "eww" ".config/eww" link "copyq" ".config/copyq" # programs link "neofetch" ".config/neofetch" link "btop" ".config/btop" link "mc-share" ".local/share/mc" link "mc-config" ".config/mc" link "mpv" ".config/mpv" # theming link "dracula-mc/skins/dracula.ini" ".local/share/mc/skins/dracula.ini" link "dracula-mc/skins/dracula256.ini" ".local/share/mc/skins/dracula256.ini" link "nwg-look" ".config/nwg-look" link "qt5ct" ".config/qt5ct" link "qt6ct" ".config/qt6ct" link "kvantum" ".config/Kvantum" link "cursors" ".icons" link "icons" ".local/share/icons" link "fonts" ".fonts" link "fontconfig" ".config/fontconfig" # programs link "lone-files/konsolerc" ".config/konsolerc" link "konsole" ".local/share/konsole" link "lone-files/dolphinrc" ".config/dolphinrc" # write install file echo "pls don't remove" > "$HOME/.config/.jstm_dotfiles" # check for executables if ! which qt5ct &> /dev/null; then echo ":: Warning: qt5ct is not in your PATH." fi if ! which qt6ct &> /dev/null; then echo ":: Warning: qt6ct is not in your PATH." fi if ! which nwg-look &> /dev/null; then echo ":: Warning: nwg-look is not in your PATH." fi