punktdateien/install.sh

80 lines
2 KiB
Bash
Executable file

#!/bin/bash
# jeremystartm's dotfiles "installer"
# 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 "jstmbash.config.env" ".config/jstmbash.env"
link "starship.toml" ".config/starship.toml"
link "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 "cursors" ".icons"
link "fonts" ".fonts"
link "fontconfig" ".config/fontconfig"
# konsole
link "konsolerc" ".config/konsolerc"
link "konsole" ".local/share/konsole"
# 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