--- title: Linux Bloatware Removal description: Removes Linux bloatware defined in `.removeLinuxPackages` of the `home/.chezmoidata.yaml` file sidebar_label: 10 Linux Bloatware Removal slug: /scripts/before/run_onchange_before_10-remove-bloatware.sh.tmpl githubLocation: https://github.com/megabyte-labs/install.doctor/blob/master/home/.chezmoiscripts/universal/run_onchange_before_10-remove-bloatware.sh.tmpl scriptLocation: https://github.com/megabyte-labs/install.doctor/raw/master/home/.chezmoiscripts/universal/run_onchange_before_10-remove-bloatware.sh.tmpl repoLocation: home/.chezmoiscripts/universal/run_onchange_before_10-remove-bloatware.sh.tmpl --- # Linux Bloatware Removal Removes Linux bloatware defined in `.removeLinuxPackages` of the `home/.chezmoidata.yaml` file ## Overview This script removes some of the software deemed to be "bloatware" by cycling through the values defined in `.removeLinuxPackages` of the `home/.chezmoidata.yaml` file. ## Source Code ``` {{- if eq .host.distro.family "linux" -}} #!/usr/bin/env bash # @file Linux Bloatware Removal # @brief Removes Linux bloatware defined in `.removeLinuxPackages` of the `home/.chezmoidata.yaml` file # @description # This script removes some of the software deemed to be "bloatware" by cycling through the values defined in # `.removeLinuxPackages` of the `home/.chezmoidata.yaml` file. {{ includeTemplate "universal/profile-before" }} {{ includeTemplate "universal/logg-before" }} {{- $removePackages := join " " .removeLinuxPackages }} ### Remove bloatware packages defined in .chezmoidata.yaml for PKG in {{ $removePackages }}; do if command -v apk > /dev/null; then if apk list "$PKG" | grep "$PKG" > /dev/null; then sudo apk delete "$PKG" fi elif command -v apt-get > /dev/null; then if dpkg -l "$PKG" | grep -E '^ii' > /dev/null; then sudo apt-get remove -y "$PKG" logg success 'Removed '"$PKG"' via apt-get' fi elif command -v dnf > /dev/null; then if rpm -qa | grep "$PKG" > /dev/null; then sudo dnf remove -y "$PKG" logg success 'Removed '"$PKG"' via dnf' fi elif command -v yum > /dev/null; then if rpm -qa | grep "$PKG" > /dev/null; then sudo yum remove -y "$PKG" logg success 'Removed '"$PKG"' via yum' fi elif command -v pacman > /dev/null; then if pacman -Qs "$PKG" > /dev/null; then sudo pacman -R "$PKG" logg success 'Removed '"$PKG"' via pacman' fi elif command -v zypper > /dev/null; then if rpm -qa | grep "$PKG" > /dev/null; then sudo zypper remove -y "$PKG" logg success 'Removed '"$PKG"' via zypper' fi fi done {{- end }} ```