104 lines
2.9 KiB
Plaintext
Raw Normal View History

2022-10-21 07:27:25 +01:00
#!/usr/bin/env bash
2022-10-25 07:07:52 +01:00
#-*-coding:utf-8 -*-
#Auto updated?
# Yes
#File:
# pacsync
#Author:
# The-Repo-Club [wayne6324@gmail.com]
#Github:
# https://github.com/The-Repo-Club/
#
#Created:
# Tue 25 October 2022, 07:04:14 AM [GMT+1]
#Modified:
2022-10-25 07:09:20 +01:00
# Tue 25 October 2022, 07:09:12 AM [GMT+1]
2022-10-25 07:07:52 +01:00
#
#Description:
# FZF menu for pacman yay or paru
#
#Dependencies:
# bash, pacman, yay, paru
#
2022-09-05 17:16:33 +01:00
function go_pacman() {
cmd=$(pacman -Slq | fzf --prompt 'pacman> ' \
--header 'Install packages. CTRL+(Pacman/Aur/Installed/Quit)' \
--bind 'ctrl-p:change-prompt(pacman> )+reload(pacman -Slq)' \
2022-10-25 07:07:52 +01:00
--bind 'ctrl-y:change-prompt(yay> )+reload(yay -Slq)' \
--bind 'ctrl-r:change-prompt(paru> )+reload(paru -Slq)' \
2022-09-05 17:16:33 +01:00
--bind 'ctrl-i:change-prompt(inst> )+reload(yay -Qq)' \
--multi --height=80% --preview 'sleep 2; yay -Si {1}' \
2022-10-25 07:07:52 +01:00
--preview-window right) #| xargs -ro pacman -S
2022-09-05 17:16:33 +01:00
cmd=${cmd//$'\n'/ } # newline -> space
if [ -n "$cmd" ]; then
yay -S "$cmd"
2022-09-05 17:16:33 +01:00
fi
exit
}
function go_yay() {
cmd=$(yay -Slq | fzf --prompt 'yay> ' \
--header 'Install packages. CTRL+(Pacman/Aur/Installed/Quit)' \
--bind 'ctrl-p:change-prompt(pacman> )+reload(pacman -Slq)' \
2022-10-25 07:07:52 +01:00
--bind 'ctrl-y:change-prompt(yay> )+reload(yay -Slq)' \
--bind 'ctrl-r:change-prompt(paru> )+reload(paru -Slq)' \
2022-09-05 17:16:33 +01:00
--bind 'ctrl-i:change-prompt(inst> )+reload(yay -Qq)' \
--multi --height=80% --preview 'sleep 2; yay -Si {1}' \
--preview-window right) #| xargs -ro yay -S
cmd=${cmd//$'\n'/ } # newline -> space
if [ -n "$cmd" ]; then
yay -S "$cmd"
2022-09-05 17:16:33 +01:00
fi
exit
}
2022-10-25 07:07:52 +01:00
function go_paru() {
cmd=$(paru -Slq | fzf --prompt 'paru> ' \
--header 'Install packages. CTRL+(Pacman/Aur/Installed/Quit)' \
--bind 'ctrl-p:change-prompt(pacman> )+reload(pacman -Slq)' \
--bind 'ctrl-y:change-prompt(yay> )+reload(yay -Slq)' \
--bind 'ctrl-r:change-prompt(paru> )+reload(paru -Slq)' \
--bind 'ctrl-i:change-prompt(inst> )+reload(yay -Qq)' \
--multi --height=80% --preview 'sleep 2; yay -Si {1}' \
--preview-window right) #| xargs -ro paru -S
cmd=${cmd//$'\n'/ } # newline -> space
if [ -n "$cmd" ]; then
yay -S "$cmd"
fi
exit
}
2022-09-05 17:16:33 +01:00
function go_installed() {
2022-10-25 07:07:52 +01:00
cmd=$(pacman -Qq | fzf --prompt 'installed> ' \
2022-09-05 17:16:33 +01:00
--header 'Install packages. CTRL+(Pacman/Aur/Installed/Quit)' \
--bind 'ctrl-p:change-prompt(pacman> )+reload(pacman -Slq)' \
2022-10-25 07:07:52 +01:00
--bind 'ctrl-y:change-prompt(yay> )+reload(yay -Slq)' \
--bind 'ctrl-r:change-prompt(paru> )+reload(paru -Slq)' \
2022-09-05 17:16:33 +01:00
--bind 'ctrl-i:change-prompt(installed> )+reload(yay -Qq)' \
--multi --height=80% --preview 'sleep 2; yay -Si {1}' \
2022-10-25 07:07:52 +01:00
--preview-window right) #| xargs -ro pacman -S
2022-09-05 17:16:33 +01:00
cmd=${cmd//$'\n'/ } # newline -> space
if [ -n "$cmd" ]; then
yay -S "$cmd"
2022-09-05 17:16:33 +01:00
fi
exit
}
case $1 in
*pacman)
go_pacman
;;
*yay)
go_yay
;;
2022-10-25 07:07:52 +01:00
*paru)
go_paru
;;
2022-09-05 17:16:33 +01:00
*installed)
go_installed
;;
*)
go_pacman
;;
esac