#!/usr/bin/bash # vim:ft=sh:fdm=marker:fmr={,} # archlabs installer library script file # this file is not meant to be run directly # sourcing this file in a non bash shell is not advised # shellcheck disable=2154,2153,2046,2034 # package extras # if you add a package to $PACKAGES in any dialog and it uses or requires some # additional packages, you can add them here to keep it simple for the end user declare -gA PKG_EXT=( [vlc]="qt4" [mpd]="mpc" [mupdf]="mupdf-tools" [qt5ct]="qt5-styleplugins" [steam]="steam-native-runtime" [zathura]="zathura-pdf-poppler" [cairo-dock]="cairo-dock-plug-ins" [noto-fonts]="noto-fonts-emoji" [kdenlive]="kdebase-runtime dvdauthor frei0r-plugins breeze breeze-gtk" [vlc]="qt5ct qt5-styleplugins" [kdenlive]="qt5ct qt5-styleplugins" # duplicates are stripped with `uniq` later [qbittorrent]="qt5ct qt5-styleplugins" [qutebrowser]="qt5ct qt5-styleplugins" ) select_browsers() { local pkgs="" pkgs="$(checkbox "$_Packages" "$_PackageBody" 0 0 0 \ "firefox" "A popular open-source graphical web browser from Mozilla" off \ "chromium" "an open-source graphical web browser based on the Blink rendering engine" off \ "opera" "Fast and secure, free of charge web browser from Opera Software" off \ "epiphany" "A GNOME web browser based on the WebKit rendering engine" off \ "qutebrowser" "A keyboard-focused vim-like web browser based on Python and PyQt5" off)" printf "%s" "$pkgs" } select_editors() { local pkgs="" pkgs="$(checkbox "$_Packages" "$_PackageBody" 0 0 0 \ "atom" "An open-source text editor developed by GitHub that is licensed under the MIT License" off \ "geany" "A fast and lightweight IDE" off \ "emacs" "An extensible, customizable, self-documenting real-time display editor" off \ "neovim" "A fork of Vim aiming to improve user experience, plugins, and GUIs." off \ "mousepad" "A simple text editor" off)" printf "%s" "$pkgs" } select_terminals() { local pkgs="" pkgs="$(checkbox "$_Packages" "$_PackageBody" 0 0 0 \ "termite" "A minimal VTE-based terminal emulator" off \ "rxvt-unicode" "A unicode enabled rxvt-clone terminal emulator" off \ "terminator" "Terminal emulator that supports tabs and grids" off \ "tilix" "A tiling terminal emulator for Linux using GTK+ 3" off \ "tilda" "A Gtk based drop down terminal for Linux and Unix" off \ "xfce4-terminal" "A terminal emulator based in the Xfce Desktop Environment" off)" printf "%s" "$pkgs" } select_music_and_video() { local pkgs="" pkgs="$(checkbox "$_Packages" "$_PackageBody" 0 0 0 \ "vlc" "A free and open source cross-platform multimedia player" off \ "mpd" "A flexible, powerful, server-side application for playing music" off \ "ncmpcpp" "An mpd client and almost exact clone of ncmpc with some new features" off \ "cmus" "A small, fast and powerful console music player for Unix-like operating systems" off \ "audacious" "A free and advanced audio player based on GTK+" off \ "nicotine+" "A graphical client for Soulseek" off \ "lollypop" "A new music playing application" off \ "rhythmbox" "Music playback and management application" off \ "deadbeef" "A GTK+ audio player for GNU/Linux" off \ "clementine" "A modern music player and library organizer" off)" printf "%s" "$pkgs" } select_mail_and_chat() { local pkgs="" pkgs="$(checkbox "$_Packages" "$_PackageBody" 0 0 0 \ "thunderbird" "Standalone mail and news reader from mozilla" off \ "geary" "A lightweight email client for the GNOME desktop" off \ "evolution" "Manage your email, contacts and schedule" off \ "mutt" "Small but very powerful text-based mail client" off \ "hexchat" "A popular and easy to use graphical IRC client" off \ "pidgin" "Multi-protocol instant messaging client" off \ "weechat" "Fast, light and extensible IRC client" off \ "irssi" "Modular text mode IRC client" off)" printf "%s" "$pkgs" } select_office_and_editing() { local pkgs="" pkgs="$(checkbox "$_Packages" "$_PackageBody" 0 0 0 \ "libreoffice-fresh" "Full featured office suite" off \ "abiword" "Fully-featured word processor" off \ "calligra" "A set of applications for productivity" off \ "gimp" "GNU Image Manipulation Program" off \ "inkscape" "Professional vector graphics editor" off \ "krita" "Edit and paint images" off \ "obs-studio" "Free opensource streaming/recording software" off \ "openshot" "An open-source, non-linear video editor for Linux based on MLT framework" off \ "kdenlive" "A non-linear video editor for Linux using the MLT video framework" off \ "audacity" "A program that lets you manipulate digital audio waveforms" off \ "guvcview" "Capture video from camera devices" off \ "simplescreenrecorder" "A feature-rich screen recorder" off)" printf "%s" "$pkgs" } select_managment() { local pkgs="" pkgs="$(checkbox "$_Packages" "$_PackageBody" 0 0 0 \ "thunar" "A modern file manager for the Xfce Desktop Environment" off \ "pcmanfm" "A fast and lightweight file manager based in Lxde" off \ "gnome-disk-utility" "Disk Management Utility" off \ "gnome-system-monitor" "View current processes and monitor system state" off \ "qt5ct" "GUI for managing Qt based application themes, icons, and fonts" off \ "ttf-hack" "A hand groomed and optically balanced typeface based on Bitstream Vera Mono" off \ "ttf-anonymous-pro" "A family of four fixed-width fonts designed especially with coding in mind" off \ "ttf-font-awesome" "Iconic font designed for Bootstrap" off \ "ttf-fira-code" "Monospaced font with programming ligatures" off \ "noto-fonts" "Google Noto fonts" off \ "noto-fonts-cjk" "Google Noto CJK fonts (Chinese, Japanese, Korean)" off)" printf "%s" "$pkgs" } select_extra() { local pkgs="" pkgs="$(checkbox "$_Packages" "$_PackageBody" 0 0 0 \ "steam" "A popular game distribution platform by Valve" off \ "deluge" "A BitTorrent client written in python" off \ "transmission-gtk" "Free BitTorrent client GTK+ GUI" off \ "qbittorrent" "An advanced BitTorrent client" off \ "evince" "A document viewer" off \ "zathura" "Minimalistic document viewer" off \ "qpdfview" "A tabbed PDF viewer" off \ "mupdf" "Lightweight PDF and XPS viewer" off \ "gpicview" "Lightweight image viewer" off \ "gpick" "Advanced color picker using GTK+ toolkit" off \ "gcolor2" "A simple GTK+2 color selector" off \ "plank" "An elegant, simple, and clean dock" off \ "docky" "Full fledged dock that makes opening applications and managing windows faster and easier" off \ "cairo-dock" "Light eye-candy fully themable animated dock" off)" printf "%s" "$pkgs" }