bbqcheckout

Submitted scripts and programs
Forum rules
Your own work only.
machinebacon
Baconator
Posts: 10253
Joined: Thu Sep 16, 2010 11:03 am
Location: Pfälzerwald
Contact:

bbqcheckout

Unread post by machinebacon » Tue Oct 08, 2013 7:55 pm

This one does the same as roastyourown, with a little difference: it puts the selected packages into a text file which can later be pushed into apt-get.

Code: Select all

#!/usr/bin/env bash
[ "root" != "$USER" ] && exec sudo $0 "$@"
: ${INS=apt-get install -y -q=1}
: ${NFO=dialog  --backtitle "Be patient" --title "Installing..." --textbox /tmp/list.txt 0 0}
INPUT=/tmp/menu.sh.$$
LIST=/tmp/list.txt

rm $LIST

dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Application Installer" --msgbox "Welcome to the Grill! This script lets you choose base applications and create or install a package list. Hit Enter to continue..." 10 55

# You can uncomment these lines if you want a network check. For the creation of a package list it is not needed.
#
#dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Checking Internet Connection" --infobox "Please wait..." 7 45
#if ping -c 1 8.8.8.8 > /dev/null 2>&1 ; then
#   sleep 1s ; dialog  --clear
#else
#   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Check your network" --msgbox "Starting Ceni to configure network" 7 35; ceni ;
#fi
#dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Syncing Package Database"  --yesno "Start update? (It is definitely recommended)" 5 55
#if [ "$?"!= "0" ]; then
#   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Attention" --msgbox "Don't shoot me, I'm just the messenger..." 7 55
#else
#   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Syncing Package Database" --infobox "Please wait..." 5 35
#   apt-get update -q=2
#fi

function dman(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --nocancel  --title "Display Manager" --menu "Note: Some DMs need manual editing of their configurations file." 20 60 15 \
   A lightdm \
   b "lightdm-kde" \
   c "lightdm-razorqt" \
   B slim \
   C xdm \
   D kdm \
   E qingy \
   G nodm \
   H choosewm \
   8 "Back to Main" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
   A) echo "lightdm lightdm-gtk-greeter">> $LIST ;;
   b) echo "lightdm lightdm-kde-greeter">> $LIST ;;
   c) echo "lightdm lightdm-razorqt-greeter">> $LIST ;;
   B) echo "slim">> $LIST ;;
   C) echo "xdm">> $LIST ;;
   D) echo "kdm">> $LIST ;;
   E) echo "qingy">> $LIST ;;
   G) echo "nodm">> $LIST ;;
   H) echo "choosewm">> $LIST ;;
   8) mainmenu;;
esac
}

function de_wm(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --nocancel  --title "Desktop Environments and Window Managers" --menu "Scroll down for panel and system monitors. Note: Some WMs need a manual startup entry for the Xsessions file." 20 60 15 \
   A aewm  \
   B aewm_plusplus  \
   C amiwm  \
   D awesome  \
   E blackbox  \
   F clfswm  \
   G compiz  \
   H ctwm  \
   I dwm  \
   J e17  \
   K fluxbox  \
   L flwm  \
   M fvwm1  \
   N fvwm-crystal  \
   O "GNOME minimal session" \
   P herbstluftwm  \
   Q i3  \
   R icewm  \
   S jwm  \
   T "KDE4 desktop" \
   U larswm  \
   V lwm  \
   W LXDE  \
   X matchbox  \
   Y marco  \
   Z MATE  \
   a metacity  \
   b muffin  \
   c mutter  \
   d 9wm  \
   e notion  \
   f openbox  \
   g olwm  \
   h oroborus  \
   i pekwm  \
   j ratpoison  \
   k sapphire  \
   l sawfish  \
   m spectrwm  \
   n stumpwm  \
   o subtle  \
   p tinywm  \
   q twm  \
   r tritium  \
   s vtwm  \
   t w9wm  \
   u windowlab  \
   v wm2  \
   w wmaker  \
   x wmii  \
   y Xfce4  \
   z razorqt  \
   9 xmonad  \
   7 "tint2 panel" \
   6 LXpanel  \
   5 "dzen2 panel" \
   4 "gkrellm system monitor" \
   3 "Conky system monitor" \
   8 "Back to Main" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
      A) echo "aewm">> $LIST ;;
      B) echo "aewm++">> $LIST ;;
      C) echo "amiwm">> $LIST ;;
      D) echo "awesome awesome-extra ">> $LIST ;;
      E) echo "blackbox ">> $LIST ;;
      F) echo "clfswm ">> $LIST ;;
      G) echo "compiz compiz-gtk compiz-plugins ">> $LIST ;;
      H) echo "ctwm ">> $LIST ;;
      I) echo "dwm ">> $LIST ;;
      J) echo "e17 ">> $LIST ;;
      K) echo "fluxbox fbautostart fbdesk fbpager ">> $LIST ;;
      L) echo "flwm ">> $LIST ;;
      M) echo "fvwm1 ">> $LIST ;;
      N) echo "fvwm-crystal fvwm-icons ">> $LIST ;;
      O) echo "gnome-session">> $LIST ;;
      P) echo "herbstluftwm">> $LIST ;;
      Q) echo "i3 ">> $LIST ;;
      R) echo "icewm-experimental icewm-themes ">> $LIST ;;
      S) echo "jwm">> $LIST ;;
      T) echo "kdebase-workspace lightdm-kde-greeter ">> $LIST ;;
      U) echo "larswm ">> $LIST ;;
      V) echo "lwm ">> $LIST ;;
      W) echo "lxde lxappearance-obconf ">> $LIST ;;
      X) echo "matchbox matchbox-panel matchbox-panel-manager matchbox-window-manager matchbox-desktop ">> $LIST ;;
      Y) echo "marco ">> $LIST ;;
      Z) echo "mate-desktop-environment ">> $LIST ;;
      a) echo "metacity metacity-themes ">> $LIST ;;
      b) echo "muffin ">> $LIST ;;
      c) echo "mutter">> $LIST ;;
      d) echo "9wm 9menu ">> $LIST ;;
      e) echo "notion ">> $LIST ;;
      f) echo "openbox obconf obmenu ">> $LIST ;;
      g) echo "olwm ">> $LIST ;;
      h) echo "oroborus ">> $LIST ;;
      i) echo "pekwm ">> $LIST ;;
      j) echo "ratpoison ratmenu ">> $LIST ;;
      k) echo "sapphire ">> $LIST ;;
      l) echo "sawfish sawfish-themes sawfish-merlin-ugliness fspanel ">> $LIST ;;
      m) echo "spectrwm ">> $LIST ;;
      n) echo "stumpwm ">> $LIST ;;
      p) echo "tinywm ">> $LIST ;;
      q) echo "twm">> $LIST ;;
      r) echo "tritium ">> $LIST ;;
      s) echo "vtwm">> $LIST ;;
      t) echo "w9wm ">> $LIST ;;
      o) echo "subtle ">> $LIST ;;
      u) echo "windowlab ">> $LIST ;;
      v) echo "wm2 ">> $LIST ;;
      w) echo "wmaker wmbattery wmbiff wmcalclock wmcdplay wmcpuload wmforkplop wmifs wmmemload wmmixer wmmoonclock wmnet wmrack wmwork ">> $LIST ;;
      x) echo "wmii ">> $LIST ;;
      y) echo "xfce4 xfwm4-themes">> $LIST ;;
      z) echo "razorqt">> $LIST ;;
      9) echo "xmonad xmobar">> $LIST ;;
      8) mainmenu;;
      7) echo "tint2 ">> $LIST ;;
      6) echo "lxpanel ">> $LIST ;;
      5) echo "dzen2 ">> $LIST ;;
      4) echo "gkrellm gkrellm-mailwatch gkrellm-reminder gkrellm-volume gkrellm-x86info gkrellm-xkb gkrellmoon gkrellmwireless gkrellshoot gkrelltop gkrellweather gkrellm-ibam ">> $LIST ;;
   esac
}

function termin(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Terminal Emulator" --menu "Select your default terminal. xterm is already provided." 20 60 15 \
   A aterm \
   B eterm \
   C evilvte \
   D fbterm \
   E guake \
   F konsole \
   G kterm \
   H lxterminal \
   I mlterm \
   J mrxvt \
   K roxterm \
   L rxvt \
   M "rxvt-ml" \
   N "rxvt-unicode" \
   O "rxvt-unicode-256color" \
   P "rxvt-unicode-lite" \
   Q "rxvt-beta" \
   R sakura \
   S stterm \
   T terminator \
   U termit \
   V tilda \
   W "xfce4-terminal" \
   X xvt \
   Y qterm \
   Z tmux \
   a byobu \
   b "GNU screen" \
   8 "Back to Main" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
   A) echo "aterm ">> $LIST ;;
   B) echo "eterm ">> $LIST ;;
   C) echo "evilvte ">> $LIST ;;
   D) echo "fbterm ">> $LIST ;;
   E) echo "guake ">> $LIST ;;
   F) echo "konsole ">> $LIST ;;
   G) echo "kterm ">> $LIST ;;
   H) echo "lxterminal ">> $LIST ;;
   I) echo "mlterm ">> $LIST ;;
   J) echo "mrxvt ">> $LIST ;;
   K) echo "roxterm ">> $LIST ;;
   L) echo "rxvt ">> $LIST ;;
   M) echo "rxvt-ml ">> $LIST ;;
   N) echo "rxvt-unicode ">> $LIST ;;
   O) echo "rxvt-unicode-256color ">> $LIST ;;
   P) echo "rxvt-unicode-lite ">> $LIST ;;
   Q) echo "rxvt-beta ">> $LIST ;;
   R) echo "sakura ">> $LIST ;;
   S) echo "stterm ">> $LIST ;;
   T) echo "terminator ">> $LIST ;;
   U) echo "termit ">> $LIST ;;
   V) echo "tilda ">> $LIST ;;
   W) echo "xfce4-terminal ">> $LIST ;;
   X) echo "xvt ">> $LIST ;;
   Y) echo "qterm ">> $LIST ;;
   Z) echo "tmux ">> $LIST ;;
   a) echo "byobu ">> $LIST ;;
   b) echo "screen ">> $LIST ;;
   8) mainmenu;;
esac
}

function brows(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Web Browser" --menu "Select your Web Browser. Roaster and links2 are already provided. Some lightweight browsers need a manual entry in your root menu."  20 60 15 \
   A arora \
   B chromium \
   C conkeror \
   D dwb \
   E edbrowse \
   F elinks \
   G epiphany \
   H iceweasel \
   I "iceape suite" \
   J luakit \
   K midori \
   L netrik \
   M netsurf \
   N rekonq \
   O surf \
   P hv3 \
   Q w3m \
   R xxxterm \
   S qupzilla \
   T lynx \
   U uzbl \
   8 "Back to Main" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
   A) echo "arora ">> $LIST ;;
   B) echo "chromium chromium-codecs-ffmpeg chromium-l10n ">> $LIST ;;
   C) echo "conkeror ">> $LIST ;;
   D) echo "dwb ">> $LIST ;;
   E) echo "edbrowse ">> $LIST ;;
   F) echo "elinks ">> $LIST ;;
   G) echo "epiphany ">> $LIST ;;
   H) echo "iceweasel xul-ext-adblock-plus xul-ext-adblock-element-hiding-helper ">> $LIST ;;
   I) echo "iceape ">> $LIST ;;
   J) echo "luakit ">> $LIST ;;
   K) echo "midori ">> $LIST ;;
   L) echo "netrik ">> $LIST ;;
   M) echo "netsurf ">> $LIST ;;
   N) echo "rekonq ">> $LIST ;;
   O) echo "surf ">> $LIST ;;
   P) echo "hv3 ">> $LIST ;;
   Q) echo "w3m ">> $LIST ;;
   R) echo "xxxterm ">> $LIST ;;
   S) echo "qupzilla ">> $LIST ;;
   T) echo "lynx ">> $LIST ;;
   U) echo "uzbl ">> $LIST ;;
   8) mainmenu;;
esac
}

function fileman(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "File Manager" --menu "Pick a file manager. Ranger and MC are already provided." 20 60 15 \
   A andromeda \
   B bsc \
   C gentoo \
   D "gnome-commander" \
   E "gpe-filemanager" \
   F "rox-filer" \
   G thunar \
   H nautilus \
   I konqueror \
   J dolphin \
   K xfe \
   L xfm \
   M worker \
   N pcmanfm \
   O spacefm \
   P qtfm \
   R vifm \
   8 "Back to Main" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
   A) echo "andromeda">> $LIST ;;
   B) echo "bsc">> $LIST ;;
   C) echo "gentoo">> $LIST ;;
   D) echo "gnome-commander">> $LIST ;;
   E) echo "gpe-filemanager">> $LIST ;;
   F) echo "rox-filer">> $LIST ;;
   G) echo "thunar thunar-media-tags-plugin thunar-archive-plugin thunar-vcs-plugin thunar-volman">> $LIST ;;
   H) echo "nautilus nautilus-actions nautilus-image-converter nautilus-sendto nautilus-share nautilus-emblems">> $LIST ;;
   I) echo "konqueror konq-plugins">> $LIST ;;
   J) echo "dolphin konq-plugins">> $LIST ;;
   K) echo "xfe xfe-i18n xfe-themes">> $LIST ;;
   L) echo "xfm">> $LIST ;;
   M) echo "worker">> $LIST ;;
   N) echo "pcmanfm">> $LIST ;;
   O) echo "libudev-dev && wget -c http://linuxbbq.org/incoming/udevil.deb && wget -c http://linuxbbq.org/incoming/spacefm.deb && dpkg -i udevil.deb && dpkg -i spacefm.deb && rm udevil.deb && rm spacefm.deb && gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor && gtk-update-icon-cache -q -t -f /usr/share/icons/Faenza">> $LIST ;;
   P) echo "qtfm">> $LIST ;;
   R) echo "vifm">> $LIST ;;
   8) mainmenu;;
esac 
}

function texted(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Text Editors and IDE" --menu "Pick an editor. nano, mcedit and leafpad are already provided." 20 60 15 \
   A emacs \
   B vim \
   C scite \
   D tea \
   E geany \
   F mousepad \
   G medit \
   H nedit \
   I levee \
   J xjed \
   K joe \
   L jupp \
   M jed \
   e jedit \
   N kate \
   O kwrite \
   P gwrite \
   R gedit \
   S fte \
   T ed \
   U cream \
   V elvis \
   W efte \
   X editra \
   Y juffed \
   Z ne \
   7 scribes \
   6 tea \
   5 vile \
   4 xvile \
   3 x2 \
   a axe \
   b yudit \
   c pyroom \
   d focuswriter \
   8 "Back to Main" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
   A) echo "emacs">> $LIST ;;
   B) echo "vim">> $LIST ;;
   C) echo "scite">> $LIST ;;
   D) echo "tea">> $LIST ;;
   E) echo "geany">> $LIST ;;
   F) echo "mousepad">> $LIST ;;
   G) echo "medit">> $LIST ;;
   H) echo "nedit">> $LIST ;;
   I) echo "levee">> $LIST ;;
   J) echo "xjed">> $LIST ;;
   K) echo "joe">> $LIST ;;
   L) echo "jupp">> $LIST ;;
   M) echo "jed">> $LIST ;;
   N) echo "kate">> $LIST ;;
   O) echo "kwrite">> $LIST ;;
   P) echo "gwrite">> $LIST ;;
   R) echo "gedit">> $LIST ;;
   S) echo "fte">> $LIST ;;
   T) echo "ed">> $LIST ;;
   U) echo "cream">> $LIST ;;
   V) echo "elvis">> $LIST ;;
   W) echo "efte">> $LIST ;;
   X) echo "editra">> $LIST ;;
   Y) echo "juffed">> $LIST ;;
   Z) echo "ne">> $LIST ;;
   e) echo "jedit ">> $LIST ;;
   7) echo "scribes">> $LIST ;;
   6) echo "tea">> $LIST ;;
   5) echo "vile">> $LIST ;;
   4) echo "xvile">> $LIST ;;
   3) echo "x2">> $LIST ;;
   a) echo "axe">> $LIST ;;
   b) echo "yudit">> $LIST ;;
   c) echo "pyroom">> $LIST ;;
   d) echo "focuswriter">> $LIST ;;
   8) mainmenu;;
esac 
}

function office(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Office Applications" --menu "Here you can select a word processor or spreadsheet app. For LibreOffice please add l10n localization if needed." 20 60 15 \
   A abiword \
   B gnumeric \
   C lyx \
   D "libreoffice-writer" \
   E "libreoffice-calc" \
   F "libreoffice full suite" \
   G calligra \
   H "texlive-full" \
   I luatex \
   J zim \
   K texworks \
   L texmaker \
   M texstudio \
   N rubber \
   O latexila \
   P kile \
   Q gummi \
   R pdfviewer \
   S zathura \
   T xpdf \
   U mupdf \
   V okular \
   W calibre \
   X epdfview \
   Y evince \
   Z katarakt \
   a scribus \
   b "scribus-ng" \
   c jscribble \
   d xournal \
   8 "Back to Main" 2>"${INPUT}"
   menuitem=$(<"${INPUT}")
case $menuitem in
   A) echo "abiword">> $LIST ;;
   B) echo "gnumeric">> $LIST ;;
   C) echo "lyx">> $LIST ;;
   D) echo "libreoffice-writer">> $LIST ;;
   E) echo "libreoffice-calc">> $LIST ;; 
   F) echo "libreoffice full suite">> $LIST ;;
   G) echo "calligra">> $LIST ;;
   H) echo "texlive-full">> $LIST ;;
   I) echo "luatex">> $LIST ;;
   J) echo "zim">> $LIST ;;
   K) echo "texworks">> $LIST ;;
   L) echo "texmaker">> $LIST ;;
   M) echo "texstudio">> $LIST ;;
   N) echo "rubber">> $LIST ;;
   O) echo "latexila">> $LIST ;;
   P) echo "kile">> $LIST ;;
   Q) echo "gummi">> $LIST ;;
   R) echo "pdfviewer">> $LIST ;;
   S) echo "zathura">> $LIST ;;
   T) echo "xpdf">> $LIST ;;
   U) echo "mupdf">> $LIST ;;
   V) echo "okular">> $LIST ;;
   W) echo "calibre">> $LIST ;;
   X) echo "epdfview">> $LIST ;;
   Y) echo "evince">> $LIST ;;
   Z) echo "katarakt">> $LIST ;;
   a) echo "scribus">> $LIST ;;
   b) echo "scribus-ng">> $LIST ;;
   c) echo "jscribble">> $LIST ;;
   d) echo "xournal">> $LIST ;;
   8) mainmenu;;
esac
}


function graphics_photo(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Graphics and Photo Editing" --menu "Here you can select image viewers and editors." 20 60 15 \
   a darktable \
   A gimp \
   B inkscape \
   C fotoxx \
   D shotwell \
   E mirage \
   F geeqie \
   G showfoto \
   H ristretto \
   I gpicview \
   J xpaint \
   K gthumb \
   L gpaint \
   M digikam \
   N "f-spot" \
   8 "Back to Main" 2>"${INPUT}"
   menuitem=$(<"${INPUT}")
case $menuitem in
   a) echo "darktable">> $LIST ;;
   A) echo "gimp">> $LIST ;;
   B) echo "inkscape">> $LIST ;;
   C) echo "fotoxx">> $LIST ;;
   D) echo "shotwell">> $LIST ;;
   E) echo "mirage">> $LIST ;;
   F) echo "geeqie">> $LIST ;;
   G) echo "showfoto">> $LIST ;;
   H) echo "ristretto">> $LIST ;;
   I) echo "gpicview">> $LIST ;;
   J) echo "xpaint">> $LIST ;;
   K) echo "gthumb">> $LIST ;;
   L) echo "gpaint">> $LIST ;;
   M) echo "digikam">> $LIST ;;
   N) echo "f-spot">> $LIST ;;
   8) mainmenu
esac
}

function defshell(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Shells" --menu "You are using $SHELL" 20 60 15 \
   a zsh \
   A ksh \
   B mksh \
   C yash \
   D csh \
   E "git-sh" \
   F "switch-sh" \
   G aptsh \
   H dsh \
   I fish \
   J fizsh \
   K ssh \
   L posh \
   M sash \
   N rush \
   8 "Back to Main" 2>"${INPUT}"
   menuitem=$(<"${INPUT}")
case $menuitem in
   a) echo "zsh">> $LIST ;;
   A) echo "ksh">> $LIST ;;
   B) echo "mksh">> $LIST ;;
   C) echo "yash">> $LIST ;;
   D) echo "csh">> $LIST ;;
   E) echo "git-sh">> $LIST ;;
   F) echo "switch-sh">> $LIST ;;
   G) echo "aptsh">> $LIST ;;
   H) echo "dsh">> $LIST ;;
   I) echo "fish">> $LIST ;;
   J) echo "fizsh">> $LIST ;;
   K) echo "ssh">> $LIST ;;
   L) echo "posh">> $LIST ;;
   M) echo "sash">> $LIST ;;
   N) echo "rush">> $LIST ;;
   8) mainmenu
esac
}

function sound_video(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Sound and Video" --menu "Pick your sound system and media players. mplayer2 and moc are already provided." 20 60 15 \
   A "ALSA only" \
   B pulseaudio \
   C amarok \
   D "ario + mpd" \
   E audacious \
   F bangarang \
   G banshee \
   H cmus \
   I exaile \
   J freetuxtv \
   K gmerlin \
   L "gnome-mplayer" \
   M gxine \
   N gst123 \
   O kaffeine \
   P juk \
   Q dragonplayer \
   R ffmpeg \
   S minirok \
   T "ncmpcpp + mpd" \
   U mencoder \
   V parole \
   W totem \
   X vlc \
   Y xmms2 \
   a xnoise \
   b guayadeque \
   c "cantata + mpd" \
   d clementine \
   e radiotray \
   f "qmpdclient + mpd" \
   g plait \
   h "pygmy + mpd" \
   i musique \
   j "mpc + mpd" \
   k lxmusic \
   l juke \
   m "gimmix + mpd" \
   n bluemindo \
   o aqualung \
   p kdenlive \
   q openshot \
   r kino \
   s flowblade \
   t betaradio \
   8 "Back to Main" 2>"${INPUT}"
   menuitem=$(<"${INPUT}")
case $menuitem in
   A) echo "alsaplayer-alsa alsa-tools alsa-base alsa-firmware-loaders ">> $LIST ;;
   B) echo "pulseaudio pulseaudio-utils pavumeter pavucontrol paman paprefs ">> $LIST ;;
   C) echo "amarok">> $LIST ;;
   D) echo "ario + mpd">> $LIST ;;
   E) echo "audacious">> $LIST ;;
   F) echo "bangarang">> $LIST ;;
   G) echo "banshee">> $LIST ;;
   H) echo "cmus">> $LIST ;;
   I) echo "exaile">> $LIST ;;
   J) echo "freetuxtv">> $LIST ;;
   K) echo "gmerlin">> $LIST ;;
   L) echo "gnome-mplayer">> $LIST ;;
   M) echo "gxine">> $LIST ;;
   N) echo "gst123">> $LIST ;;
   O) echo "kaffeine">> $LIST ;;
   P) echo "juk">> $LIST ;;
   Q) echo "dragonplayer">> $LIST ;;
   R) echo "ffmpeg">> $LIST ;;
   S) echo "minirok">> $LIST ;;
   T) echo "ncmpcpp mpd">> $LIST ;;
   U) echo "mencoder">> $LIST ;;
   V) echo "parole">> $LIST ;;
   W) echo "totem">> $LIST ;;
   X) echo "vlc">> $LIST ;;
   Y) echo "xmms2">> $LIST ;;
   a) echo "xnoise">> $LIST ;;
   b) echo "guayadeque">> $LIST ;;
   c) echo "cantata mpd">> $LIST ;;   
   d) echo "clementine">> $LIST ;;
   e) echo "radiotray">> $LIST ;;
   f) echo "qmpdclient mpd">> $LIST ;;
   g) echo "plait">> $LIST ;;
   h) echo "pygmy mpd">> $LIST ;;
   i) echo "musique">> $LIST ;;
   j) echo "mpc mpd">> $LIST ;;
   k) echo "lxmusic">> $LIST ;;
   l) echo "juke">> $LIST ;;
   m) echo "gimmix mpd">> $LIST ;;
   n) echo "bluemindo">> $LIST ;;
   o) echo "aqualung">> $LIST ;;
   p) echo "kdenlive">> $LIST ;;
   q) echo "openshot">> $LIST ;;
   r) echo "kino">> $LIST ;;
   s) echo "flowblade">> $LIST ;;
   t) echo "betaradio">> $LIST ;;
   8) mainmenu;;
esac
}


function printing(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "CUPS Printing System" --yesno "Install the CUPS printing system?" 20 60 
if [ "$?" = "0" ]; then
   echo "cups cups-pdf system-config-printer printer-driver-hpijs ">> $LIST 
fi
mainmenu
}

function devel_tools(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Tools for Developers" --yesno "Would you like to install development tools? If you choose Yes, following packages will be installed: 
   
   openssh-server openssh-server git git git-gui git-gui git-svn git-svn git-email git-email mercurial mercurial subversion subversion subversion-tools subversion-tools bzr bzr bzrtools bzrtools cvs cvs thunar-vcs-plugin thunar-vcs-plugin build-essential build-essential debhelper debhelper cdbs cdbs dh-make dh-make diffutils diffutils patch patch gnupg gnupg fakeroot fakeroot lintian lintian devscripts devscripts dpatch dpatch dput dput" 20 60;
      
if [ "$?" = "0" ]; then
   echo "openssh-server openssh-server git git git-gui git-gui git-svn git-svn git-email git-email mercurial mercurial subversion subversion subversion-tools subversion-tools bzr bzr bzrtools bzrtools cvs cvs thunar-vcs-plugin thunar-vcs-plugin build-essential build-essential debhelper debhelper cdbs cdbs dh-make dh-make diffutils diffutils patch patch gnupg gnupg fakeroot fakeroot lintian lintian devscripts devscripts dpatch dpatch dput dput ">> $LIST 
fi
mainmenu
}

function emulat(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Emulators and virtual machines" --menu "Pick your poison." 20 60 15 \
   A wine \
   B playonlinux \
   C virtualbox \
   D qemu \
   E virtualbricks \
   F bochs \
   G dosbox \
   8 "Back to Main" 2>"${INPUT}"
   menuitem=$(<"${INPUT}")
case $menuitem in
   A) echo "wine winetricks">> $LIST ;;
   B) echo "playonlinux">> $LIST ;;
   C) echo "virtualbox virtualbox-dkms virtualbox-qt virtualbox-source virtualbox-guest-additions-iso">> $LIST ;;
   D) echo "qemu qemu-keymaps qemu-system qemu-user qemu-utils qemu-launcher qemuctl">> $LIST ;;
   E) echo "virtualbricks">> $LIST ;;
   F) echo "bochs bochs-sdl bochs-svga bochs-term bochs-x bochsbios sb16ctrl-bochs vga-bios">> $LIST ;;
   G) echo "dosbox">> $LIST ;;
   8) mainmenu;;
esac
}

function communic(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Communication and Chat Tools" --menu "Select your IM and IRC client." 20 60 15 \
   A pidgin \
   B empathy \
   C kopete \
   D quassel \
   E konversation \
   F mcabber \
   G irssi \
   H weechat \
   I swift-im \
   J psi \
   K prosody \
   L finch \
   M emesene \
   N amsn \
   I centerim \
   J bitlbee \
   K ayttm \
   L barnowl \
   M coccinella \
   N ekg2 \
   O jitsi \
   8 "Back to Main" 2>"${INPUT}"
   menuitem=$(<"${INPUT}")
case $menuitem in
   A) echo "pidgin">> $LIST ;;
   B) echo "empathy">> $LIST ;;
   C) echo "kopete">> $LIST ;;
   D) echo "quassel">> $LIST ;;
   E) echo "konversation">> $LIST ;;
   F) echo "mcabber">> $LIST ;;
   G) echo "irssi">> $LIST ;;
   H) echo "weechat">> $LIST ;;
   I) echo "swift-im">> $LIST ;;
   J) echo "psi">> $LIST ;;
   K) echo "prosody">> $LIST ;;
   L) echo "finch">> $LIST ;;
   M) echo "emesene">> $LIST ;;
   N) echo "amsn">> $LIST ;;
   I) echo "centerim">> $LIST ;;
   J) echo "bitlbee">> $LIST ;;
   K) echo "ayttm">> $LIST ;;
   L) echo "barnowl">> $LIST ;;
   M) echo "coccinella">> $LIST ;;
   N) echo "ekg2">> $LIST ;;   
   O) echo "jitsi">> $LIST ;; 
   8) mainmenu;;
esac
}


function netman(){
   dialog  --backtitle "LinuxBBQ - Roast Your Own" --title "Network Management" --menu "Select your network manager and additional services." 20 60 15 \
   A wicd \
   a "wicd-cli" \
   B "network-manager" \
   C "network-manager-gnome" \
   D vpnc \
   d "pptp-linux" \
   E openswan \
   F strongswan \
   G "l2tp-ipsec" \
   H kvpnc \
   I "ipsec-tools" \
   J openconnect \
   K "network-manager-gnome full set" \
   L openvpn \
   M openssl \
   8 "Back to Main" 2>"${INPUT}"
   menuitem=$(<"${INPUT}")
case $menuitem in
   A) echo "wicd">> $LIST ;;
   a) echo "wicd-cli wicd-curses">> $LIST ;;
   B) echo "network-manager">> $LIST ;;
   K) echo "network-manager network-manager-gnome network-manager-vpnc-gnome network-manager-iodine-gnome network-manager-openvpn-gnome network-manager-pptp-gnome network-manager-strongswan-gnome network-manager-openconnect-gnome ">> $LIST ;;
   D) echo "vpnc">> $LIST ;;
   d) echo "pptp-linux">> $LIST ;;
   E) echo "openswan">> $LIST ;;
   F) echo "strongswan">> $LIST ;;
   G) echo "l2tp-ipsec-vpn">> $LIST ;;
   H) echo "kvpn">> $LIST ;;
   I) echo "ipsec-tools">> $LIST ;;
   J) echo "openconnect">> $LIST ;;
   C) echo "network-manager-gnome network-manager-gnome ">> $LIST ;;
   L) echo "openvpn">> $LIST ;;
   M) echo "openssl">> $LIST ;;
   8) mainmenu;;
esac
}

function checkout(){
   dialog  --clear  --backtitle "LinuxBBQ - Roast Your Own" --title "Selection complete"  --yes-label "Get it" --no-label "Script it" --yesno "Should we apt-get the list or save it as build script" 0 0 
   if [ "$?" = "0" ]; then #apt-get it
      $NFO ; sudo apt-get install -y -qq $(< /tmp/list.txt) ; exit 0
   else
      echo "You find the list in $LIST" ; exit 0 ### use the list for a build script
   fi
   mainmenu
}
   
function mainmenu(){
while true
do
dialog  --clear  --backtitle "LinuxBBQ - Roast Your Own" --title "Base Applications Installer" --menu "Choose the Package Group" 21 50 17 \
   a "Display Manager" \
   c "Edit xinitrc" \
   b Shell \
   A "Window Managers and Desktop" \
   B "Terminal Emulator" \
   C "File Manager" \
   D "Web Browser" \
   E "Text Editor" \
   F "Office Apps" \
   G "Graphics and Photo" \
   H "Sound and Video" \
   J "CUPS Printing System" \
   K "Development Tools" \
   L Emulation \
   M Communication \
   N "Network Management" \
   q Checkout \
   W "Create ISO from Install" \
   X "Back to shell" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
   a) dman ;;
   c) nano /home/$USER/.xinitrc ;;
   b) defshell ;;
   A) de_wm ;;
   B) termin ;;
   C) fileman ;;
   D) brows ;;
   E) texted ;;
   F) office ;;
   G) graphics_photo ;;
   H) sound_video ;;
   J) printing ;;
   K) devel_tools ;;
   L) emulat ;;
   M) communic ;;
   N) netman ;;
   W) bbqsnapshot ;;
   q) checkout ;;
   X) cp /home/$USER/.profile_good /home/$USER/.profile ; exit
esac

# The copying of profile.good to profile is to prevent bbqcheckout being
# started after every boot. Replace with a 'exit 0' if you use it on your own spin.
 
done
} 

mainmenu

exit
..gnutella..

Post Reply