Skip to content

Commit

Permalink
Add wrapper for package manipulation
Browse files Browse the repository at this point in the history
  • Loading branch information
dimitry-ishenko committed Dec 12, 2024
1 parent 3740e7d commit e69f563
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions tools/modules/functions/package.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# package.sh

declare -A module_options
module_options+=(
["package,author"]="@dimitry-ishenko"
["package,desc"]="Wrapper for package installation"
["package,example"]="package_install neovim"
["package,feature"]="package_install"
["package,status"]="active"
)

package_install()
{
local apt=(apt-get -y)
[[ -t 0 ]] && apt=(debconf-apt-progress -- ${apt[@]})
${apt[@]} install "$@"
}

module_options+=(
["package,author"]="@dimitry-ishenko"
["package,desc"]="Check if package is installed"
["package,example"]="package_is_installed mc"
["package,feature"]="package_is_installed"
["package,status"]="active"
)

package_is_installed()
{
local status=$(dpkg -s "$1" 2>/dev/null | sed -n "s/Status: //p")
! [[ -z "$status" || "$status" = *deinstall* || "$status" = *not-installed* ]]
}

module_options+=(
["package,author"]="@dimitry-ishenko"
["package,desc"]="Wrapper for package removal"
["package,example"]="package_remove nmap"
["package,feature"]="package_remove"
["package,status"]="active"
)

package_remove()
{
local apt=(apt-get -y)
[[ -t 0 ]] && apt=(debconf-apt-progress -- ${apt[@]})
${apt[@]} autopurge "$@"
}

0 comments on commit e69f563

Please sign in to comment.