#!/usr/bin/env bash # ─< Check if the given command exists silently >───────────────────────────────────────── command_exists() { command -v "$@" >/dev/null 2>&1 } # WHY: # This import will give you the following variables: # _sudo="sudo -E" <- only if non root user # distro = # arch = bool # fedora = bool # opensuse = bool.... # You can then use it for, `if $arch; then` # Also this gives you the _install command, which installs a package pased on the packagemanager/distro used. # CAUTION: # This only wokrs for generic package names, like neovim, or vim, or tmux etc.. # not every package packagemanager has the same packagenames for their packages.. if command_exists curl; then eval "$(curl -fsSL https://git.k4li.de/scripts/imports/raw/branch/main/distros.sh)" else echo "curl is required, but missing.." exit 1 fi __pre_stow__() { echo_note "__pre_stow__" conf="$HOME/.config" bak_dir="$HOME/.bak" dirs=( "btop" "zsh" "yazi" "tmux" "nvim" "ranger" "lf" "zellij" ) if [ ! -d "$bak_dir" ]; then echo_info "backup dir created at $bak_dir" && mkdir "$bak_dir" else echo_info "Backup dir already present, clearing now" && rm -rf "${bak_dir:?}/*" fi for _dirs in "${dirs[@]}"; do if [ -d "$conf/$_dirs" ]; then mv -f "$conf/$_dirs" "$bak_dir" fi done h_files=( ".zshrc" ".zshenv" ) h_dirs=( ".tmux" ".zsh" ".fzt" ) for _f in "${h_files[@]}"; do if [ -f "$HOME/$_f" ]; then mv -f "$HOME/$_f" "$bak_dir" && echo_info "Moved $_f to $bak_dir" fi done for _d in "${h_dirs[@]}"; do if [ -d "$HOME/$_d" ]; then mv -f "$HOME/$_d" "$bak_dir" && echo_info "Moved $_d to $bak_dir" fi done if [ -d "$HOME/.local/share/fastfetch/" ]; then mv -f "$HOME/.local/share/fastfetch" "$bak_dir" fi } askThings() { # echo_info "Choose a menu - [r]ofi || [t]ofi" # read -r askMenu