punktdateien/install.sh

121 lines
3.6 KiB
Bash
Raw Normal View History

2023-12-08 17:33:11 +01:00
#!/bin/bash
# jeremystartm's dotfiles "installer"
2023-12-08 17:38:01 +01:00
2023-12-09 15:46:02 +01:00
if [ ! -f "$HOME/.config/.jstm_dotfiles" ]; then
2023-12-09 15:45:17 +01:00
echo ":: Removing files"
./uninstall.sh &> /dev/null
fi
2024-06-02 20:49:23 +02:00
# utility function
2023-12-08 17:33:11 +01:00
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
}
2023-12-08 18:47:34 +01:00
# update/clone repositories
2024-06-02 20:49:23 +02:00
[[ ! -d "dracula-mc" ]] && git clone "https://github.com/dracula/midnight-commander.git" dracula-mc
(
2024-06-02 21:10:32 +02:00
cd dracula-mc || (
echo ":: Error: Can't cd into dracula-mc"
exit 1
)
2023-12-08 18:47:34 +01:00
git pull
2024-06-02 20:49:23 +02:00
)
[[ ! -d "jstmbash" ]] && git clone "https://git.staropensource.de/JeremyStarTM/jstmbash.git" jstmbash
(
2024-06-02 21:10:32 +02:00
cd jstmbash || (
echo ":: Error: Can't cd into jstmbash"
exit 1
)
2023-12-08 18:47:34 +01:00
git pull
2024-06-02 20:49:23 +02:00
)
2023-12-08 17:33:11 +01:00
2023-12-08 17:38:01 +01:00
# create directories
2024-06-02 20:51:38 +02:00
mkdir -p "${HOME}/.local/share/mc/skins" "${HOME}/.local/bin" "${HOME}/.config/xdg-desktop-portal"
2023-12-08 17:38:01 +01:00
2023-12-08 17:33:11 +01:00
# jobrunner
link "jobrunner/daemon.sh" ".local/bin/jobrunner"
link "jobrunner/runjob.sh" ".local/bin/jobrunner-runjob"
2024-06-02 17:16:29 +02:00
# bin
link "lone-files/bin/launch-menu" ".local/bin/launch-menu"
2023-12-08 17:33:11 +01:00
# bash configuration
link "jstmbash" ".jstmbash"
2023-12-09 16:34:37 +01:00
link "lone-files/jstmbash.config.env" ".config/jstmbash.env"
link "lone-files/starship.toml" ".config/starship.toml"
link "lone-files/bashrc" ".bashrc"
2023-12-08 17:33:11 +01:00
# wm/compositor
link "hypr" ".config/hypr"
link "waybar" ".config/waybar"
link "fnott" ".config/fnott"
link "eww" ".config/eww"
2024-06-02 20:51:38 +02:00
link "lone-files/hyprland-portals.conf" ".config/xdg-desktop-portal/hyprland-portals.conf"
2023-12-08 17:33:11 +01:00
# programs
link "neofetch" ".config/neofetch"
link "btop" ".config/btop"
link "mc-share" ".local/share/mc"
link "mc-config" ".config/mc"
link "mpv" ".config/mpv"
2024-02-14 20:41:33 +01:00
mkdir -p "/home/jeremystartm/.config/GIMP/2.10"
link "gimp/splashes" ".config/GIMP/2.10/splashes"
link "gitui" ".config/gitui"
2023-12-08 17:33:11 +01:00
# 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"
2023-12-09 19:02:21 +01:00
link "kvantum" ".config/Kvantum"
2023-12-08 17:33:11 +01:00
link "cursors" ".icons"
2023-12-09 14:33:13 +01:00
link "icons" ".local/share/icons"
2023-12-08 17:33:11 +01:00
link "fonts" ".fonts"
link "fontconfig" ".config/fontconfig"
2024-03-30 02:23:32 +01:00
link "wallpapers" ".local/share/wallpapers"
2023-12-09 14:20:24 +01:00
2024-02-14 21:14:16 +01:00
# kde
link "kde/plasma" ".local/share/plasma"
link "kde/kdedefaults" ".config/kdedefaults"
link "kde/color-schemes" ".local/share/color-schemes"
link "kde/aurorae" ".local/share/aurorae"
2024-02-14 21:14:16 +01:00
link "lone-files/kglobalshortcutsrc" ".config/kglobalshortcutsrc"
link "lone-files/kiorc" ".config/kiorc"
link "lone-files/krunnerrc" ".config/krunnerrc"
link "lone-files/kservicemenurc" ".config/kservicemenurc"
link "lone-files/ksplashrc" ".config/ksplashrc"
link "lone-files/ktimezonedrc" ".config/ktimezonedrc"
link "lone-files/plasma-localerc" ".config/plasma-localrc"
link "lone-files/plasma-org.kde.plasma.desktop-appletsrc" ".config/plasma-org.kde.plasma.desktop-appletsrc"
2023-12-09 14:33:13 +01:00
# programs
2023-12-09 16:34:37 +01:00
link "lone-files/konsolerc" ".config/konsolerc"
2023-12-09 14:20:24 +01:00
link "konsole" ".local/share/konsole"
2023-12-09 16:34:37 +01:00
link "lone-files/dolphinrc" ".config/dolphinrc"
2023-12-09 14:23:07 +01:00
2023-12-13 19:32:24 +01:00
# punktdateien scripts
link "bin/updatechecker" ".local/bin/dotfiles-updatechecker"
2023-12-13 20:03:46 +01:00
link "bin/updater" ".local/bin/dotfiles-updater"
link "bin/install-software" ".local/bin/dotfiles-install-software"
2023-12-13 19:32:24 +01:00
2023-12-09 15:45:17 +01:00
# write install file
echo "pls don't remove" > "$HOME/.config/.jstm_dotfiles"
2023-12-09 14:23:07 +01:00
# 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