Up.
This commit is contained in:
parent
f5f003e605
commit
66980f428f
@ -1,10 +1,15 @@
|
|||||||
{{ $email := promptStringOnce . "email" "What is your main git email address " }}
|
{{ $email := promptStringOnce . "email" "What is your main git email address " }}
|
||||||
{{ $signinkey := promptStringOnce . "signingkey" "What is your git signing key " }}
|
{{ $signinkey := promptStringOnce . "signingkey" "What is your git signing key " }}
|
||||||
{{ $hasLatex := promptBoolOnce . "hasLatex" "Do i install latex files " }}
|
{{ $hasNVim := promptBool "Do i install Neovim " false}}
|
||||||
|
{{ $hasLVim := promptBool "Do i install LunarVim " false }}
|
||||||
|
{{ $hasLatex := promptBool "Do i install latex " false }}
|
||||||
[git]
|
[git]
|
||||||
autoCommit = true
|
autoCommit = true
|
||||||
autoPush = true
|
autoPush = true
|
||||||
[data]
|
[data]
|
||||||
|
hasNVim = {{ $hasNVim }}
|
||||||
|
hasLVim = {{ $hasLVim }}
|
||||||
|
hasLatex = {{ $hasLatex }}
|
||||||
email = {{ $email | quote }}
|
email = {{ $email | quote }}
|
||||||
signinkey = {{ $signinkey | quote }}
|
signinkey = {{ $signinkey | quote }}
|
||||||
hasLatex = {{ $hasLatex }}
|
|
||||||
|
@ -3,13 +3,23 @@
|
|||||||
# include lib
|
# include lib
|
||||||
. ${CHEZMOI_WORKING_TREE}/scripts/utils.sh
|
. ${CHEZMOI_WORKING_TREE}/scripts/utils.sh
|
||||||
|
|
||||||
|
# args
|
||||||
|
args="--base --zsh"
|
||||||
|
|
||||||
|
{{- if (ne .hasNVim false) }}
|
||||||
|
args="${args} --nvim"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if (ne .hasLatex false) }}
|
||||||
|
args="${args} --latex"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{ if (eq .chezmoi.os "linux") -}}
|
{{ if (eq .chezmoi.os "linux") -}}
|
||||||
{{ if (eq .chezmoi.osRelease.id "manjaro" "arch") -}}
|
{{ if (eq .chezmoi.osRelease.id "manjaro" "arch") -}}
|
||||||
|
|
||||||
log "Begin Arch/Manjaro Linux packages installation"
|
log "Begin Arch/Manjaro Linux packages installation"
|
||||||
|
|
||||||
. {{ .chezmoi.workingTree }}/scripts/archlinux.sh
|
. {{ .chezmoi.workingTree }}/scripts/archlinux.sh ${args}
|
||||||
|
|
||||||
log "Finish Arch/Manjaro Linux packages installation"
|
log "Finish Arch/Manjaro Linux packages installation"
|
||||||
|
|
||||||
|
@ -1,17 +1,8 @@
|
|||||||
#!{{ lookPath "bash" }}
|
#!{{ lookPath "bash" }}
|
||||||
|
|
||||||
# Load asdf
|
# include lib
|
||||||
. "$HOME/.asdf/asdf.sh"
|
. ${CHEZMOI_WORKING_TREE}/scripts/utils.sh
|
||||||
|
. ${HOME}/.asdf/asdf.sh
|
||||||
# Logging function
|
|
||||||
log() {
|
|
||||||
printf "$(tput setaf 4)$(tput bold)>>>>> %s <<<<<$(tput sgr0)\n" "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
inf() {
|
|
||||||
printf "$(tput setaf 2)╚═══ᐳ $(tput sgr 0 1)$(tput setaf 2)%s$(tput sgr0)\n" "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Plugins to install
|
# Plugins to install
|
||||||
@ -27,7 +18,6 @@ plugins=(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Install ASDF plugins ###
|
### Install ASDF plugins ###
|
||||||
log "Begin ASDF plugins installation"
|
log "Begin ASDF plugins installation"
|
||||||
|
|
||||||
|
17
home/.chezmoiscripts/run_once_after_30-install-lvim.sh.tmpl
Normal file
17
home/.chezmoiscripts/run_once_after_30-install-lvim.sh.tmpl
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#!{{ lookPath "bash" }}
|
||||||
|
|
||||||
|
# include lib
|
||||||
|
. ${CHEZMOI_WORKING_TREE}/scripts/utils.sh
|
||||||
|
|
||||||
|
# LVim version
|
||||||
|
lvim_version="1.4"
|
||||||
|
|
||||||
|
{{- if (and (ne .hasNVim false) (ne .hasLatex false)) }}
|
||||||
|
|
||||||
|
log "Begin LVim installation"
|
||||||
|
|
||||||
|
LV_BRANCH="release-${lvim_version}/neovim-0.9" bash <(curl -s "https://raw.githubusercontent.com/LunarVim/LunarVim/release-${lvim_version}/neovim-0.9/utils/installer/install.sh")
|
||||||
|
|
||||||
|
log "Finish LVim installation"
|
||||||
|
|
||||||
|
{{- end }}
|
@ -1,83 +0,0 @@
|
|||||||
#!{{ lookPath "bash" }}
|
|
||||||
|
|
||||||
# Logging function
|
|
||||||
log() {
|
|
||||||
printf "$(tput setaf 4)$(tput bold)>>>>> %s <<<<<$(tput sgr0)\n" "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
inf() {
|
|
||||||
printf "$(tput setaf 2)╚═══ᐳ $(tput sgr 0 1)$(tput setaf 2)%s$(tput sgr0)\n" "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Packages to install
|
|
||||||
packages=(
|
|
||||||
neovim
|
|
||||||
python-pip
|
|
||||||
python-pynvim
|
|
||||||
ripgrep
|
|
||||||
)
|
|
||||||
|
|
||||||
# LVim version
|
|
||||||
lvim_version="1.4"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
log "Begin LVim installation"
|
|
||||||
|
|
||||||
{{ if (eq .chezmoi.osRelease.id "manjaro" "arch") -}}
|
|
||||||
|
|
||||||
## Update system
|
|
||||||
inf "updating system..."
|
|
||||||
yay -Syu --noconfirm --removemake --quiet
|
|
||||||
|
|
||||||
## Install packages
|
|
||||||
for package in ${packages[@]}; do
|
|
||||||
if [ "$(yay -Qq $package 2> /dev/null)" != $package ]; then
|
|
||||||
inf "installing ${package}..."
|
|
||||||
yay -S --noconfirm --removemake --quiet $package
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
{{ else if (eq .chezmoi.osRelease.id "debian" "ubuntu") -}}
|
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
## Update system
|
|
||||||
inf "updating system..."
|
|
||||||
{{- if ne .chezmoi.username "root" }}
|
|
||||||
sudo -E apt update -qq
|
|
||||||
sudo -E apt upgrade --yes -qq
|
|
||||||
{{- else }}
|
|
||||||
apt update -qq
|
|
||||||
apt upgrade --yes -qq
|
|
||||||
{{- end}}
|
|
||||||
|
|
||||||
## Install packages
|
|
||||||
## packages[1]=golang
|
|
||||||
packages=(${packages[@]/python/python3})
|
|
||||||
packages=(${packages[@]/neovim/})
|
|
||||||
packages+=(python3-venv)
|
|
||||||
|
|
||||||
for package in ${packages[@]}; do
|
|
||||||
inf "installing ${package}..."
|
|
||||||
|
|
||||||
{{- if ne .chezmoi.username "root" }}
|
|
||||||
sudo -E apt-get install --yes --no-install-recommends --ignore-missing --fix-broken -qq $package
|
|
||||||
{{- else }}
|
|
||||||
apt-get install --yes --no-install-recommends --ignore-missing --fix-broken -qq $package
|
|
||||||
{{- end }}
|
|
||||||
done
|
|
||||||
|
|
||||||
inf "installing neovim..."
|
|
||||||
mist install neovim
|
|
||||||
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
inf "installing lvim..."
|
|
||||||
LV_BRANCH="release-${lvim_version}/neovim-0.9" bash <(curl -s "https://raw.githubusercontent.com/LunarVim/LunarVim/release-${lvim_version}/neovim-0.9/utils/installer/install.sh")
|
|
||||||
|
|
||||||
log "Finish LVim installation"
|
|
||||||
|
|
||||||
|
|
@ -1,110 +1,37 @@
|
|||||||
#!{{ lookPath "bash" }}
|
#!{{ lookPath "bash" }}
|
||||||
|
|
||||||
# Load asdf
|
# include lib
|
||||||
# as we need cargo and it is installed from
|
. ${CHEZMOI_WORKING_TREE}/scripts/utils.sh
|
||||||
. "$HOME/.asdf/asdf.sh"
|
. ${HOME}/.asdf/asdf.sh
|
||||||
|
|
||||||
|
|
||||||
# Logging function
|
|
||||||
log() {
|
|
||||||
printf "$(tput setaf 4)$(tput bold)>>>>> %s <<<<<$(tput sgr0)\n" "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
inf() {
|
|
||||||
printf "$(tput setaf 2)╚═══ᐳ $(tput sgr 0 1)$(tput setaf 2)%s$(tput sgr0)\n" "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Environment variables
|
# Environment variables
|
||||||
ZIMDIR=${HOME}/.zim
|
ZIMDIR=${HOME}/.zim
|
||||||
|
|
||||||
# Packages to install
|
|
||||||
packages=(
|
|
||||||
zsh
|
|
||||||
)
|
|
||||||
|
|
||||||
|
### Update shell install ###
|
||||||
|
log "Begin Zsh customization"
|
||||||
### Install Zsh ###
|
|
||||||
log "Begin Zsh installation"
|
|
||||||
|
|
||||||
{{ if (eq .chezmoi.osRelease.id "manjaro" "arch") -}}
|
|
||||||
|
|
||||||
## Update system
|
|
||||||
inf "updating system..."
|
|
||||||
yay -Syu --noconfirm --removemake --quiet
|
|
||||||
|
|
||||||
## install packages
|
|
||||||
for package in ${packages[@]}; do
|
|
||||||
if [ "$(yay -Qq $package 2> /dev/null)" != $package ]; then
|
|
||||||
inf "installing ${package}..."
|
|
||||||
yay -S --noconfirm --removemake --quiet $package
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
{{ else if (eq .chezmoi.osRelease.id "debian" "ubuntu") -}}
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
## Update system
|
|
||||||
inf "updating system..."
|
|
||||||
{{- if ne .chezmoi.username "root" }}
|
|
||||||
sudo -E apt update -qq
|
|
||||||
sudo -E apt upgrade --yes -qq
|
|
||||||
{{- else }}
|
|
||||||
apt update -qq
|
|
||||||
apt upgrade --yes -qq
|
|
||||||
{{- end}}
|
|
||||||
|
|
||||||
## packages=(${packages[@]//starship/})
|
|
||||||
|
|
||||||
## install packages
|
|
||||||
for package in ${packages[@]}; do
|
|
||||||
inf "installing ${package}..."
|
|
||||||
|
|
||||||
{{- if ne .chezmoi.username "root" }}
|
|
||||||
sudo -E apt-get install --yes --no-install-recommends --ignore-missing --fix-broken -qq $package
|
|
||||||
{{- else }}
|
|
||||||
apt-get install --yes --no-install-recommends --ignore-missing --fix-broken -qq $package
|
|
||||||
{{- end }}
|
|
||||||
done
|
|
||||||
|
|
||||||
## inf "installing starship..."
|
|
||||||
## mist install starship-bin
|
|
||||||
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
log "Finish Zsh installation"
|
|
||||||
|
|
||||||
|
|
||||||
## Update cargo
|
## Update cargo
|
||||||
log "Installing cargo-update"
|
inf "installing cargo-update..."
|
||||||
|
|
||||||
cargo install cargo-update
|
cargo install cargo-update
|
||||||
|
|
||||||
log "Finish cargo-update installation"
|
|
||||||
|
|
||||||
|
|
||||||
## Install Atuin
|
## Install Atuin
|
||||||
log "Installing atuin"
|
inf "installing atuin..."
|
||||||
|
|
||||||
cargo install atuin
|
cargo install atuin
|
||||||
|
|
||||||
log "Finish atuin installation"
|
|
||||||
|
|
||||||
|
|
||||||
## Reshim
|
## Reshim
|
||||||
log "Asdf reshim..."
|
inf "asdf reshim..."
|
||||||
|
|
||||||
asdf reshim
|
asdf reshim
|
||||||
|
|
||||||
log "Reshim ok."
|
|
||||||
|
|
||||||
|
|
||||||
### Config Zsh ###
|
### Config Zsh ###
|
||||||
log "Installing Zim Framework"
|
inf "installing zim framework"
|
||||||
|
|
||||||
$(which zsh) -c "source ${ZIMDIR}/zimfw.zsh init -q"
|
$(which zsh) -c "source ${ZIMDIR}/zimfw.zsh init -q"
|
||||||
|
|
||||||
log "Finish zsh installation"
|
|
||||||
|
log "Finish Zsh customization"
|
||||||
|
|
||||||
|
@ -1,26 +1,17 @@
|
|||||||
#!{{ lookPath "bash" }}
|
#!{{ lookPath "bash" }}
|
||||||
|
|
||||||
# Logging function
|
# include lib
|
||||||
log() {
|
. ${CHEZMOI_WORKING_TREE}/scripts/utils.sh
|
||||||
printf "$(tput setaf 4)$(tput bold)>>>>> %s <<<<<$(tput sgr0)\n" "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
inf() {
|
|
||||||
printf "$(tput setaf 2)╚═══ᐳ $(tput sgr 0 1)$(tput setaf 2)%s$(tput sgr0)\n" "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Environment variables
|
# Environment variables
|
||||||
TEXMFDIR=${HOME}/texmf/tex/latex
|
TEXMFDIR=${HOME}/texmf/tex/latex
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{{- if (ne .hasLatex false) }}
|
{{- if (ne .hasLatex false) }}
|
||||||
log "Begin LaTeX repo initialization"
|
log "Begin LaTeX repo initialization"
|
||||||
|
|
||||||
texhash "${TEXMFDIR}"
|
texhash "${TEXMFDIR}"
|
||||||
|
|
||||||
log "Finish LaTeX repo initialization"
|
log "Finish LaTeX repo initialization"
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
|
@ -4,38 +4,112 @@
|
|||||||
. ${CHEZMOI_WORKING_TREE}/scripts/utils.sh
|
. ${CHEZMOI_WORKING_TREE}/scripts/utils.sh
|
||||||
|
|
||||||
|
|
||||||
# Packages to install
|
# usage
|
||||||
packages=(
|
usage() {
|
||||||
bubblewrap
|
printf "\nUsage:\n"
|
||||||
curl
|
echo " --base Install base pacakges"
|
||||||
fzf
|
echo " --nvim Install deps for NeoVim"
|
||||||
pass
|
echo " --zsh Install deps for zsh"
|
||||||
libyaml
|
echo " --latex Install deps for latex"
|
||||||
ranger
|
}
|
||||||
tmux
|
|
||||||
trash-cli
|
|
||||||
ueberzug
|
|
||||||
unzip
|
|
||||||
wget
|
|
||||||
zip
|
|
||||||
zoxide
|
|
||||||
)
|
|
||||||
|
|
||||||
|
# packages to install
|
||||||
|
install_base() {
|
||||||
|
packages=(
|
||||||
|
bubblewrap
|
||||||
|
curl
|
||||||
|
fzf
|
||||||
|
pass
|
||||||
|
libyaml
|
||||||
|
ranger
|
||||||
|
tmux
|
||||||
|
trash-cli
|
||||||
|
ueberzug
|
||||||
|
unzip
|
||||||
|
wget
|
||||||
|
zip
|
||||||
|
zoxide
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
## Update system
|
install_nvim() {
|
||||||
inf "updating system..."
|
packages+=(
|
||||||
sudo pacman -Syu --noconfirm --quiet
|
neovim
|
||||||
|
python-pip
|
||||||
|
python-pynvim
|
||||||
|
ripgrep
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
## Install yay
|
install_zsh() {
|
||||||
if [ ! $(command -v yay) ]; then
|
packages+=(
|
||||||
install_binary "yay"
|
zsh
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
install_latex() {
|
||||||
|
packages+=(
|
||||||
|
texlive-basic
|
||||||
|
texlive-latex
|
||||||
|
texlive-latexrecommended
|
||||||
|
texlive-latexextra
|
||||||
|
texlive-fontsrecommended
|
||||||
|
texlive-fontsextre
|
||||||
|
texlive-luatex
|
||||||
|
texlive-mathscience
|
||||||
|
texlive-lang
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
# cli options
|
||||||
|
BASE=false
|
||||||
|
NVIM=false
|
||||||
|
ZSH=false
|
||||||
|
LATEX=false
|
||||||
|
|
||||||
|
if [ "$#" -eq 0 ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Install packages
|
while [ "$#" -gt 0 ]; do
|
||||||
for package in ${packages[@]}; do
|
case "$1" in
|
||||||
if [ "$(yay -Qq $package 2> /dev/null)" != $package ]; then
|
--base) BASE=true ;;
|
||||||
install_binary $package "yay"
|
--nvim) NVIM=true ;;
|
||||||
else
|
--zsh) ZSH=true ;;
|
||||||
inf "${package} already installed."
|
--latex) LATEX=true ;;
|
||||||
fi
|
*)
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
|
main() {
|
||||||
|
"$BASE" && install_base
|
||||||
|
"$NVIM" && install_nvim
|
||||||
|
"$ZSH" && install_zsh
|
||||||
|
"$LATEX" && install_latex
|
||||||
|
|
||||||
|
## Update system
|
||||||
|
update_system
|
||||||
|
|
||||||
|
## Install yay
|
||||||
|
if [ ! $(command -v yay) ]; then
|
||||||
|
install_binary "yay"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Install packages
|
||||||
|
for package in ${packages[@]}; do
|
||||||
|
if [ "$(yay -Qq $package 2> /dev/null)" != $package ]; then
|
||||||
|
install_binary $package "yay"
|
||||||
|
else
|
||||||
|
inf "${package} already installed."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
131
scripts/utils.sh
131
scripts/utils.sh
@ -13,9 +13,24 @@ err() {
|
|||||||
printf "$(tput setaf 9)$(tput bold)>>>>> %s ! <<<<<$(tput sgr0)\n" "$1"
|
printf "$(tput setaf 9)$(tput bold)>>>>> %s ! <<<<<$(tput sgr0)\n" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Function to determine the package manager if not specified
|
||||||
|
determine_package_manager() {
|
||||||
|
if [ command -v apt-get &>/dev/null ]; then
|
||||||
|
echo "apt"
|
||||||
|
elif [ command -v pamac &>/dev/null ]; then
|
||||||
|
echo "pamac"
|
||||||
|
elif [ command -v yay &>/dev/null ]; then
|
||||||
|
echo "yay"
|
||||||
|
elif [ command -v pacman &>/dev/null ]; then
|
||||||
|
echo "pacman"
|
||||||
|
else
|
||||||
|
err "No supported package manager found."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Simple abstraction to install a binary using a supported package manager
|
||||||
install_binary() {
|
install_binary() {
|
||||||
##
|
|
||||||
# Simple abstraction to install a binary using a supported package manager
|
|
||||||
# Example usage:
|
# Example usage:
|
||||||
# install_binary "fzf"
|
# install_binary "fzf"
|
||||||
# install_binary "fzf" "dnf"
|
# install_binary "fzf" "dnf"
|
||||||
@ -23,61 +38,89 @@ install_binary() {
|
|||||||
local package_name="${1}"
|
local package_name="${1}"
|
||||||
local package_manager="${2}"
|
local package_manager="${2}"
|
||||||
|
|
||||||
# Function to determine the package manager if not specified
|
# If the package manager is not specified, determine it
|
||||||
determine_package_manager() {
|
if [[ -z "${package_manager}" ]]; then
|
||||||
if [ command -v apt-get &>/dev/null ]; then
|
package_manager=$(determine_package_manager)
|
||||||
echo "apt-get"
|
fi
|
||||||
elif [ command -v pamac &>/dev/null ]; then
|
|
||||||
echo "pamac"
|
# Install the package using the determined or specified package manager
|
||||||
elif [ command -v yay &>/dev/null ]; then
|
inf "installing ${package_name} using ${package_manager}..."
|
||||||
echo "yay"
|
|
||||||
elif [ command -v pacman &>/dev/null ]; then
|
case "${package_manager}" in
|
||||||
echo "pacman"
|
apt)
|
||||||
else
|
sudo apt-get install --yes --no-install-recommends --ignore-missing --fix-broken -qq "${package_name}" || {
|
||||||
err "No supported package manager found."
|
err "Installation failed."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
pacman)
|
||||||
|
sudo pacman -S --needed --noconfirm --quiet "${package_name}" || {
|
||||||
|
err "Installation failed."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
pamac)
|
||||||
|
sudo pamac --no-confirm "${package_name}" || {
|
||||||
|
err "Installation failed."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
yay)
|
||||||
|
yay -S --noconfirm --removemake --quiet "${package_name}" || {
|
||||||
|
err "Installation failed."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
err "Unsupported package manager: ${package_manager}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
;;
|
||||||
}
|
esac
|
||||||
|
|
||||||
|
inf "installation of ${package_name} completed successfully."
|
||||||
|
}
|
||||||
|
|
||||||
|
update_system() {
|
||||||
|
local package_manager="${1}"
|
||||||
|
|
||||||
# If the package manager is not specified, determine it
|
# If the package manager is not specified, determine it
|
||||||
if [[ -z "${package_manager}" ]]; then
|
if [[ -z "${package_manager}" ]]; then
|
||||||
package_manager=$(determine_package_manager)
|
package_manager=$(determine_package_manager)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install the package using the determined or specified package manager
|
# Install the package using the determined or specified package manager
|
||||||
inf "installing ${package_name} using ${package_manager}..."
|
inf "updating system using ${package_manager}..."
|
||||||
|
|
||||||
case "${package_manager}" in
|
case "${package_manager}" in
|
||||||
apt-get)
|
apt)
|
||||||
sudo apt-get install --yes --no-install-recommends --ignore-missing --fix-broken -qq "${package_name}" || {
|
sudo -E apt update -qq && sudo -E apt upgrade --yes -qq || {
|
||||||
err "Installation failed."
|
err "Installation failed."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S --needed --noconfirm --quiet "${package_name}" || {
|
sudo pacman -Syu --noconfirm --removemake --quiet || {
|
||||||
err "Installation failed."
|
err "Installation failed."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
pamac)
|
pamac)
|
||||||
sudo pamac --no-confirm "${package_name}" || {
|
sudo pamac update --aur --no-confirm && sudo pamac upgrade --aur --no-confirm || {
|
||||||
err "Installation failed."
|
err "Installation failed."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
yay)
|
yay)
|
||||||
yay -S --noconfirm --removemake --quiet "${package_name}" || {
|
yay -Syu --noconfirm --removemake --quiet || {
|
||||||
err "Installation failed."
|
err "Installation failed."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
err "Unsupported package manager: ${package_manager}"
|
err "Unsupported package manager: ${package_manager}"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
inf "installation of ${package_name} completed successfully."
|
|
||||||
|
inf "system update completed successfully."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user