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 }