diff --git a/install.sh b/install.sh index 0c4f94a..7ae1cbe 100755 --- a/install.sh +++ b/install.sh @@ -5,27 +5,25 @@ 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 +source-script() { + local url="$1" + local import="$(mktemp)" + if command_exists curl; then + curl -fsSL $url -o $import + elif command_exists wget; then + wget -o $import $url + else + echo "curl/wget is required, but missing.." + exit 69 + fi + + source "$import" + sleep 0.2 + rm "$import" +} __pre_stow__() { - echo_note "__pre_stow__" + pen bold blue "__pre_stow__" conf="$HOME/.config" bak_dir="$HOME/.bak" dirs=( @@ -40,10 +38,10 @@ __pre_stow__() { ) if [ ! -d "$bak_dir" ]; then - echo_info "backup dir created at $bak_dir" && + pen bold blue "backup dir created at $bak_dir" && mkdir "$bak_dir" else - echo_info "Backup dir already present, clearing now" && + pen bold blue "Backup dir already present, clearing now" && rm -rf "${bak_dir:?}/*" fi @@ -66,13 +64,13 @@ __pre_stow__() { for _f in "${h_files[@]}"; do if [ -f "$HOME/$_f" ]; then - mv -f "$HOME/$_f" "$bak_dir" && echo_info "Moved $_f to $bak_dir" + mv -f "$HOME/$_f" "$bak_dir" && pen bold blue "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" + mv -f "$HOME/$_d" "$bak_dir" && pen bold blue "Moved $_d to $bak_dir" fi done @@ -82,26 +80,28 @@ __pre_stow__() { } askThings() { - # echo_info "Choose a menu - [r]ofi || [t]ofi" + # pen bold blue "Choose a menu - [r]ofi || [t]ofi" # read -r askMenu +# arch = bool +# fedora = bool +# opensuse = bool.... +# You can then use it for, `if $arch; then` +# Also this gives you the pkg-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.. +setup-env() { + # local beddu=https://git.k4li.de/scripts/beddu/raw/branch/main/dist/beddu.sh + # local pika=https://git.k4li.de/scripts/imports/raw/branch/main/distros.sh + local dream=https://git.k4li.de/scripts/imports/raw/branch/main/dream.sh + + if ! command_exists pkg-install && ! command_exists check-and-install && ! command_exists spin; then + source-script $dream + line + fi +} + +if setup-env; then + main +fi