Files
dotfiles/bin/toolbox.sh

67 lines
1.9 KiB
Bash

#!/bin/bash
toolbox_version=fedora-toolbox-34
bold=$(tput bold)
reset=$(tput sgr0)
info() {
echo "${bold}$1${reset}"
}
packages=(
# basic
'atool' 'p7zip' 'unzip' 'zsh' 'tmux' 'git' 'neovim' 'wl-clipboard' 'bind-utils' 'bmon' 'curl' 'fd-find'
'file' 'htop' 'nmon' 'mosh' 'ranger' 'stow' 'wget' 'youtube-dl' 'net-tools' 'gocryptfs' 'sshfs' 'netcat'
'dstat' 'atop' 'iotop' 'wireguard-tools' 'magic-wormhole' 'ncdu' 'sqlite' 'hyperfine'
#'khal' 'vdirsyncer' 'khard' 'hledger' 'nnn'
# ansible
'ansible' 'openssh'
# C and compiling
'@C Development Tools and Libraries'
# golang
'golang' 'golang-x-tools-goimports' 'upx'
# haskell
'haskell-platform'
# shell
'ShellCheck'
# pandoc
#'pandoc' 'perl-Image-ExifTool' 'ruby' 'ruby-devel' 'texlive'
#'texlive-collection-fontsextra' 'texlive-collection-formatsextra' 'texlive-collection-langenglish'
#'texlive-collection-langgerman' 'texlive-collection-latexextra' 'texlive-collection-science' 'wkhtmltopdf'
# rust
'cargo' 'rust '
# header packages for compiling
'pulseaudio-libs-devel' 'libxcb-devel' 'ncurses-devel' 'dbus-devel' 'libgit2-devel' 'libssh2-devel'
'openssl-devel' 'ncurses-static' 'glibc-static' 'readline-static'
)
removals=(
'subversion'
)
info 'Stopping toolbox ...'
podman stop ${toolbox_version}
info 'Delete old toolbox ...'
toolbox rm ${toolbox_version}
info 'Creating toolbox ...'
toolbox create
info 'Updating toolbox ...'
toolbox run sudo dnf upgrade -y
info 'Installing packages inside toolbox ...'
toolbox run sudo dnf install -y "${packages[@]}"
info 'Remove unused packages'
toolbox run sudo dnf remove -y "${removals[@]}"
info 'Remove unused dependencies and clean caches'
toolbox run sudo dnf autoremove -y
toolbox run sudo dnf clean all -y
info 'Installing Ansible modules'
toolbox run ansible-galaxy collection install ansible.posix community.general