diff --git a/installer b/installer index dc284abf..04ad436e 100755 --- a/installer +++ b/installer @@ -7,7 +7,7 @@ set -euo pipefail ##? Usage: ##? installer -DOTLY_REPOSITORY=${DOTLY_REPOSITORY:-CodelyTV/dotly} +DOTLY_REPOSITORY=${DOTLY_REPOSITORY:-peedrovzxf/dotly} DOTLY_BRANCH=${DOTLY_BRANCH:-main} DOTLY_LOG_FILE=${DOTLY_LOG_FILE:-$HOME/dotly.log} export DOTLY_ENV=${DOTLY_ENV:-PROD} diff --git a/restorer b/restorer old mode 100644 new mode 100755 index 61b77718..aea54c61 --- a/restorer +++ b/restorer @@ -311,6 +311,8 @@ git submodule update --init --recursive modules/dotly 2>&1 | _log "Downloading d exit 1 } +sudo pacman -S base-devel + _w "Installing dotly default tools" _w "Please be patient this could take some time...🙏" # Installing default dotly tools diff --git a/scripts/package/dump b/scripts/package/dump index 9b203019..17af9094 100755 --- a/scripts/package/dump +++ b/scripts/package/dump @@ -20,6 +20,10 @@ platform::command_exists brew && package::brew_dump && output::answer "Brew apps platform::command_exists apt-mark && package::apt_dump && output::answer "Apt apps dumped on $APT_DUMP_FILE_PATH" +platform::command_exists pacman && package::pacman_dump && output::answer "Pacman apps dumped on $PACMAN_DUMP_FILE_PATH" + +platform::command_exists yay && package::aur_dump && output::answer "AUR apps dumped on $AUR_DUMP_FILE_PATH" + platform::command_exists snap && package::snap_dump && output::answer "Snap apps dumped on $SNAP_DUMP_FILE_PATH" platform::command_exists pip3 && package::python_dump && output::answer "Python apps dumped on $PYTHON_DUMP_FILE_PATH" diff --git a/scripts/package/import b/scripts/package/import index f9f8cdce..3a60cf66 100755 --- a/scripts/package/import +++ b/scripts/package/import @@ -18,6 +18,10 @@ platform::command_exists brew && output::header "Importing Brew apps from $HOMEB platform::command_exists apt-mark && output::header "Importing Apt apps from $APT_DUMP_FILE_PATH" && package::apt_import +platform::command_exists pacman && output::header "Importing Pacman apps from $PACMAN_DUMP_FILE_PATH" && package::pacman_import + +platform::command_exists yay && output::header "Importing AUR apps from $AUR_DUMP_FILE_PATH" && package::aur_import + platform::command_exists snap && output::header "Importing Snap apps from $SNAP_DUMP_FILE_PATH" && package::snap_import platform::command_exists pip3 && output::header "Importing Python apps from $PYTHON_DUMP_FILE_PATH" && package::python_import diff --git a/scripts/package/src/dump.sh b/scripts/package/src/dump.sh index 604c00bc..ac3d3ec6 100644 --- a/scripts/package/src/dump.sh +++ b/scripts/package/src/dump.sh @@ -10,6 +10,7 @@ APT_DUMP_FILE_PATH="$DOTFILES_PATH/os/linux/apt/packages.txt" CODE_DUMP_FILE_PATH="$DOTFILES_PATH/editors/code/extensions.txt" NPM_DUMP_FILE_PATH="$DOTFILES_PATH/langs/js/global_modules.txt" PACMAN_DUMP_FILE_PATH="$DOTFILES_PATH/os/linux/pacman/packages.txt" +AUR_DUMP_FILE_PATH="$DOTFILES_PATH/os/linux/aur/packages.txt" PYTHON_DUMP_FILE_PATH="$DOTFILES_PATH/langs/python/requirements.txt" SNAP_DUMP_FILE_PATH="$DOTFILES_PATH/os/linux/snap/packages.txt" VOLTA_DUMP_FILE_PATH="$DOTFILES_PATH/langs/js/volta_dependencies.txt" @@ -113,14 +114,25 @@ package::winget_dump() { package::winget_import() { winget.exe import -i "$WINGET_DUMP_FILE_PATH" } + package::pacman_dump() { mkdir -p "$DOTFILES_PATH/os/linux/pacman" - - pacman -Qm | awk '{print $1}' >"$PACMAN_DUMP_FILE_PATH" + pacman -Qqe > "$PACMAN_DUMP_FILE_PATH" } package::pacman_import() { if [ -f "$PACMAN_DUMP_FILE_PATH" ]; then - yay -s "$(cat $PACMAN_DUMP_FILE_PATH)" + sudo pacman -S --needed - < "$PACMAN_DUMP_FILE_PATH" + fi +} + +package::aur_dump() { + mkdir -p "$DOTFILES_PATH/os/linux/aur" + pacman -Qqm > "$AUR_DUMP_FILE_PATH" +} + +package::aur_import() { + if [ -f "$AUR_DUMP_FILE_PATH" ]; then + yay -S --needed - < "$AUR_DUMP_FILE_PATH" fi } diff --git a/scripts/self/install b/scripts/self/install index fd8e2324..97ac388e 100755 --- a/scripts/self/install +++ b/scripts/self/install @@ -40,14 +40,26 @@ curl -fsSL --create-dirs -o "$ZIM_HOME/zimfw.zsh" https://github.com/zimfw/zimfw output::answer "Installing completions" "$DOTLY_PATH/bin/dot" shell zsh reload_completions + output::answer "Executing custom restoration scripts" install_scripts_path="$DOTFILES_PATH/restoration_scripts" + if [ -d "$install_scripts_path" ]; then - find "$install_scripts_path" -mindepth 1 -maxdepth 1 -type l,f -name '*.sh' | - sort | - while read -r install_script; do - { [[ -x $install_script ]] && . "$install_script" | log::file "Executing afterinstall: $(basename "$install_script")"; } || { + while IFS= read -r install_script; do + if [[ -x "$install_script" ]]; then + output::answer "Executing: $(basename "$install_script")" + if ! "$install_script" 2>&1 | log::file; then output::error "Install script error in $(basename "$install_script")" - } - done + exit 1 + fi + else + output::error "Script not executable: $(basename "$install_script")" + fi + done < <( + find "$install_scripts_path" \ + -mindepth 1 -maxdepth 1 \ + \( -type f -o -type l \) \ + -name '*.sh' | sort + ) fi +