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 » Wed Jun 12, 2013 9:28 am

bbqcheckout is basically the same thing like roastyourown, but doesn't download the packages at selection and doesn't set up the LAMP stack. Instead, it creates a packagelist that can be used for bbqbuildscript (coming soon) or piped into APT (see line 846 of the code)

The created packagelist can also be run on top of a Debian netinstall/mini installation, and should be working with Ubuntu and derivates, too.

Dependencies: bash, apt, dialog, sudo

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 roastyourown being
# started after every boot. 
 
done
} 

mainmenu

exit
..gnutella..

Post Reply