-#!/bin/sh
+#!/bin/bash
set -o errexit
+source ./config.def
+
# Liste des items:
# 1. Désactiver touch CAPS LOCK
APT="sudo apt-get --yes --force-yes"
AGI="${APT} install"
+AGINR="${AGI} --no-install-recommends"
+
+ubuntu_cleanup()
+{
+ sudo deborphan | xargs sudo apt-get -y remove --purge
+ ${APT} autoremove
+ ${APT} clean
+ ${APT} autoclean
+}
+
+hv_add_repo()
+{
+ sudo add-apt-repository ${1}
+ ${APT} update
+}
if [ "`id -u`" -eq 0 ]; then
echo "You must NOT be the super-user to execute this script"
# Purge Mono from my system!
if dpkg --list | grep "libmono" 1> /dev/null 2>&1; then
- ${APT} purge libmono* libgdiplus cli-common libglitz-glx1 libglitz1
-fi
-
-if dpkg --list | grep "pulseaudio" 1> /dev/null 2>&1; then
- ${APT} remove --purge pulseaudio*
+ ${APT} purge libmono* cli-common
fi
if dpkg --list | grep "bluez-gstreamer" 1> /dev/null 2>&1; then
${APT} remove --purge bluetooth bluez bluez-gstreamer bluez-alsa bluez-cups
fi
-if dpkg --list | grep "openoffice" 1> /dev/null 2>&1; then
- ${APT} remove --purge openoffice*
+if [ "x${INSTALL_OPENOFFICE}" != "x1" ]; then
+ if dpkg --list | grep "openoffice" 1> /dev/null 2>&1; then
+ ${APT} remove --purge openoffice*
+ fi
fi
if dpkg --list | grep "samba-common" 1> /dev/null 2>&1; then
fi
if dpkg --list | grep "evolution-exchange" 1> /dev/null 2>&1; then
- ${APT} remove --purge evolution
+ ${APT} remove --purge evolution evolution-plugins evolution-webcal evolution-data-server evolution-indicator evolution-common
fi
-if dpkg --list | grep "mysql-common" 1> /dev/null 2>&1; then
- ${APT} remove --purge mysql-common
+if dpkg --list | grep "empathy-common" 1> /dev/null 2>&1; then
+ ${APT} remove --purge empathy*
fi
if dpkg --list | grep "pppconfig" 1> /dev/null 2>&1; then
fi
if dpkg --list | grep "gwibber" 1> /dev/null 2>&1; then
- ${APT} remove --purge gwibber
+ ${APT} remove --purge gwibber gwibber-service
fi
-# Configuration SSH
-if [ ! -f ${HOME}/.ssh/id_dsa.pub ]; then
- ssh-keygen -t dsa
- # Append the contents of your public key (~/.ssh/id_dsa.pub) to the
- # ~/.ssh/authorized_keys file on the remote server
+if dpkg --list | grep "vinagre" 1> /dev/null 2>&1; then
+ ${APT} remove --purge vinagre
+fi
+
+if dpkg --list | grep "modemmanager" 1> /dev/null 2>&1; then
+ ${APT} remove --purge modemmanager
+fi
+
+# Braille
+if dpkg --list | grep "brltty" 1> /dev/null 2>&1; then
+ ${APT} remove --purge brltty
+fi
+
+# CouchDB and erlang
+if dpkg --list | grep "erlang-base" 1> /dev/null 2>&1; then
+ ${APT} remove --purge erlang*
+fi
+
+# Ubuntu One
+if dpkg --list | grep "libubuntuone" 1> /dev/null 2>&1; then
+ ${APT} remove --purge ubuntuone*
+fi
+
+if dpkg --list | grep "apparmor-utils" 1> /dev/null 2>&1; then
+ sudo /etc/init.d/apparmor stop
+ sudo update-rc.d -f apparmor remove
+ ${APT} remove --purge apparmor apparmor-utils libapparmor1
+fi
+
+# Remove proprietary code/drivers
+if dpkg --list | grep "nvidia" 1> /dev/null 2>&1; then
+ ${APT} remove --purge nvidia-*
fi
# Désactivation du son à l'écran de login
-sudo -u gdm gconftool-2 --set /desktop/gnome/sound/event_sounds --type bool false
+sudo -u gdm gconftool --set /desktop/gnome/sound/event_sounds --type bool false
+
+# Désactive le sound theme
+gconftool --set /desktop/gnome/sound/event_sounds --type bool false
# Ramener les boutons à droite dans les fenêtres Gtk+:
-gconftool-2 --set /apps/metacity/general/button_layout --type string menu:minimize,maximize,close
+gconftool --set /apps/metacity/general/button_layout --type string menu:minimize,maximize,close
+
+# Format horloge 24 heures
+gconftool --set /apps/panel/applets/clock_screen0/prefs/format --type string 24-hour
# Configuration de Nautilus - pas de preview pour ne pas ralentir
-gconftool-2 --set /apps/nautilus/preferences/preview_sound --type string never
-gconftool-2 --set /apps/nautilus/preferences/show_directory_item_counts --type string never
-gconftool-2 --set /apps/nautilus/preferences/show_icon_text --type string never
-gconftool-2 --set /apps/nautilus/preferences/show_image_thumbnails --type string never
-gconftool-2 --set /apps/nautilus/preferences/media_automount_open --type bool false
+gconftool --set /apps/nautilus/preferences/preview_sound --type string never
+gconftool --set /apps/nautilus/preferences/show_directory_item_counts --type string never
+gconftool --set /apps/nautilus/preferences/show_icon_text --type string never
+gconftool --set /apps/nautilus/preferences/show_image_thumbnails --type string never
+gconftool --set /apps/nautilus/preferences/media_automount_open --type bool false
+# Affiche le path complet
+gconftool --set /apps/nautilus/preferences/always_use_location_entry --type bool true
# Démarrage de Rhythmbox non minimisé
-gconftool-2 --set /apps/rhythmbox/plugins/status-icon/window-visible --type boolean true
+gconftool --set /apps/rhythmbox/plugins/status-icon/window-visible --type boolean true
-${APT} update
-${APT} upgrade
-${APT} dist-upgrade
-${APT} autoremove
-${APT} clean
-${APT} autoclean
+# Désactivation demande du mot de passe en mode hibernation
+gconftool --type Boolean --set /apps/gnome-power-manager/lock/suspend false
+gconftool --type Boolean --set /apps/gnome-power-manager/lock/hibernate false
+
+for dir in Public Templates ; do
+ if [ -d ${HOME}/${dir} ]; then
+ rmdir ${HOME}/${dir}
+ fi
+done
-# localepurge is a simple script to recover diskspace wasted for unneeded locale files and localized man pages.
+# Configuration SSH
+if [ ! -f ${HOME}/.ssh/id_dsa.pub ]; then
+ ssh-keygen -t dsa
+ # Append the contents of your public key (~/.ssh/id_dsa.pub) to the
+ # ~/.ssh/authorized_keys file on the remote server
+fi
+
+# localepurge recovers diskspace wasted for unneeded locale files and localized man pages.
# It will automagically be invoked upon completion of any apt installation run.
${AGI} localepurge
if [ ! -f /etc/modprobe.d/b43.conf ]; then
sudo touch /etc/modprobe.d/b43.conf
echo "options b43 pio=1 qos=0" | sudo tee -a /etc/modprobe.d/b43.conf
- ${AGI} b43-fwcutter
+ ${AGI} b43-fwcutter firmware-b43-lpphy-installer
fi
fi
-if lspci | grep "nVidia" 1> /dev/null 2>&1; then
- ${AGI} nvidia-settings nvidia-current
-else
- if dpkg --list | grep "nvidia" 1> /dev/null 2>&1; then
- ${APT} remove --purge nvidia-*
- fi
+${AGI} deborphan
+ubuntu_cleanup
+
+${APT} update
+${APT} upgrade
+${APT} dist-upgrade
+
+# Configuration de GRUB
+sudo sed -i -e 's!^\(GRUB_CMDLINE_LINUX_DEFAULT=\)"quiet splash"!\1"ipv6.disable=1"!' /etc/default/grub
+sudo sed -i -e 's!^#\(GRUB_DISABLE_LINUX_RECOVERY="true"\)!\1!' /etc/default/grub
+if ! grep "GRUB_DISABLE_OS_PROBER=\"true\"" /etc/default/grub 1> /dev/null 2>&1; then
+ echo 'GRUB_DISABLE_OS_PROBER="true"' | sudo tee --append /etc/default/grub
+fi
+sudo chmod -x /etc/grub.d/20_memtest86+
+# Change theme for custom theme
+if [ -f /etc/grub.d/05_debian_theme ]; then
+ sudo rm /etc/grub.d/05_debian_theme
fi
+cat << EOF | sudo tee /etc/grub.d/05_hugo_theme
+#! /bin/sh
+set -e
-${AGI} emacs23
-# Correction bug avec emacs:
-# murrine_style_draw_box: assertion `height >= -1' failed
-for subdir in Radiance Ambiance; do
- sudo sed -i -e "s!\(GtkRange::trough-under-steppers =\) 0!\1 1!" /usr/share/themes/${subdir}/gtk-2.0/gtkrc
-done
+echo "set menu_color_normal=green/black"
+echo "set menu_color_highlight=light-green/black"
+EOF
+sudo chmod +x /etc/grub.d/05_hugo_theme
+sudo update-grub
-# Development
-${AGI} build-essential texinfo gettext gawk bison flex
-${AGI} autoconf autoconf-doc autotools-dev libtool
-${AGI} manpages manpages-dev manpages-posix manpages-posix-dev
+${AGI} emacs
-# dockapp development
-${AGI} libx11-dev libxpm-dev libxext-dev
-${AGI} libgtk2.0-dev libglib2.0-dev
-# wmnotify uses SSL
-${AGI} libssl-dev
+${AGI} reiserfsprogs gparted
+${AGI} gddrescue
+${AGINR} smartmontools
-# Debian packaging
-${AGI} dh-make
+# Connection serveurs NFS
+${AGI} nfs-common portmap
${AGI} subversion
+# Development
+if [ "x${INSTALL_DEV_TOOLS}" = "x1" ]; then
+ ${AGI} git
+ # Set global configuration options to ~/.gitconfig
+ git config --global core.editor emacs
+ git config --global color.ui true
+ ${AGI} build-essential texinfo gettext gawk bison flex
+ ${AGI} autoconf autoconf-doc autotools-dev libtool
+ ${AGI} manpages manpages-dev manpages-posix manpages-posix-dev
+
+ # dockapp development
+ ${AGI} libx11-dev libxpm-dev libxext-dev
+ ${AGI} libgtk2.0-dev libglib2.0-dev
+ # wmnotify uses SSL
+ ${AGI} libssl-dev
+ # hvlinux
+ ${AGI} libncurses-dev
+
+ # Debian packaging
+ ${AGI} dh-make lintian dupload
+fi
+
+if [ "x${INSTALL_WEB_SERVER}" = "x1" ]; then
+ ${AGI} libapache2-mod-php5
+fi
+
${AGI} abiword gnumeric gnumeric-plugins-extra
${AGI} texlive texlive-latex-recommended texlive-latex-extra texlive-humanities
+# Jackd
+if [ "x${INSTALL_MUSIC_STUDIO}" = "x1" ]; then
+ ${AGINR} jackd patchage
+ sudo sed -i -e 's!^\(@audio\s*-\s*rtprio\s*\).*!\199!' \
+ /etc/security/limits.d/audio.conf
+ ${AGI} pulseaudio-module-jack
+
+ if [ ! -f ${HOME}/.pulse/pulsejack.pa ]; then
+ cp /etc/pulse/default.pa ${HOME}/.pulse/pulsejack.pa
+ fi
+
+ sudo sed -i -e 's!.*\(autospawn = \).*!\1no!' /etc/pulse/client.conf
+
+ if ! grep "load-module module-jack-source" ${HOME}/.pulse/pulsejack.pa 1> /dev/null 2>&1; then
+ cat >> ${HOME}/.pulse/pulsejack.pa << "EOF"
+
+### JACK setup (Hugo Villeneuve)
+load-module module-jack-source
+load-module module-jack-sink
+EOF
+ fi
+
+ sudo adduser $(whoami) audio
+ # /etc/security/limits.d/audio.conf -> set rtprio from 95 to 99 ???
+fi
+
# Multimedia
-#{AGI} linux-rt linux-headers-rt
-${AGI} jackd
${AGI} libdvdread4
if [ ! -h /usr/lib/libdvdcss.so.2 ]; then
sudo /usr/share/doc/libdvdread4/install-css.sh
fi
${AGI} ffmpeg
${AGI} ${GST}-ffmpeg ${GST}-plugins-bad ${GST}-plugins-ugly ${GST}-fluendo-mp3
-if ! sudo apt-key list | grep "rob@welcomehome.org" 1> /dev/null 2>&1; then
- sudo add-apt-repository "deb http://www.getgnash.org/debs/ubuntu lucid main"
- wget --directory-prefix=/tmp http://getgnash.org/gnashdev.key
- sudo apt-key add /tmp/gnashdev.key
- rm /tmp/gnashdev.key
+${AGI} libavcodec-extra-52
+if [ "x${INSTALL_GNASH}" = "x1" ]; then
+ ${AGI} mozilla-plugin-gnash # Requires "mysql-common"
+else
+ if dpkg --list | grep "gnash" 1> /dev/null 2>&1; then
+ ${APT} remove --purge gnash*
+ fi
+fi
+if [ -h /dev/cdrom ]; then # Don't install on machines without CD/DVD-ROM
+${AGI} vlc mozilla-plugin-vlc
+ ${AGI} sound-juicer
fi
-${AGI} mozilla-plugin-gnash
-${AGI} vlc vlc-plugin-jack mozilla-plugin-vlc
-${AGI} sound-juicer
# Musique
${AGI} vorbis-tools
${AGI} timidity fluid-soundfont-gm fluid-soundfont-gs
-${AGI} vkeybd
+${AGI} easytag
${AGI} audacity libmp3lame0 tap-plugins
-${AGI} lilypond
-${AGI} rosegarden
+
+if [ "x${INSTALL_MUSIC_STUDIO}" = "x1" ]; then
+ # Désactivation de Timidity au démarrage (sytem-wide):
+ sudo sed -i -e 's!^# \(TIM_ALSASEQ=false\)!\1!' /etc/default/timidity
+
+ ${AGI} lilypond
+ ${AGI} vkeybd
+ ${AGI} rosegarden
+ ${AGI} ardour
+fi
${AGI} sylpheed
gconftool -s /desktop/gnome/url-handlers/mailto/command -t string "sylpheed --compose %s"
+if [ -f ${HOME}/.sylpheed-2.0/folderlist.xml ]; then
+ # Change location of default mail account from ~/Mail to ~/.mail
+ sed -i -e 's!^\( <folder type="mh" name="Mailbox" path="\)Mail"!\1\.mail"!' \
+ ${HOME}/.sylpheed-2.0/folderlist.xml
+fi
+
+# Chromium
+hv_add_repo "ppa:chromium-daily/ppa"
+${AGI} chromium-browser
-${AGI} wmaker
-if [ -d ${HOME}/GNUstep/Library/WindowMaker ]; then
- cat > ${HOME}/GNUstep/Library/WindowMaker/autostart << "EOF"
+if [ "x${INSTALL_NETBOOK}" = "x1" ]; then
+ ${AGI} battery-status
+ ${AGI} maximus
+ ${AGI} window-picker-applet
+else
+ ${AGI} wmaker
+ if [ -d ${HOME}/GNUstep/Library/WindowMaker ]; then
+ cat > ${HOME}/GNUstep/Library/WindowMaker/autostart << "EOF"
#!/bin/sh
gnome-settings-daemon
EOF
- chmod 755 ${HOME}/GNUstep/Library/WindowMaker/autostart
-fi
+ chmod 755 ${HOME}/GNUstep/Library/WindowMaker/autostart
+ fi
-${AGI} pcmanfm
-cat > ${HOME}/.gtkrc-2.0 << "EOF"
+ ${AGI} pcmanfm
+ cat > ${HOME}/.gtkrc-2.0 << "EOF"
gtk-icon-theme-name="Tango"
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
EOF
+fi
${AGI} epdfview
${AGI} psutils
+${AGI} imagemagick
${AGI} gimp
-${AGI} deborphan
-sudo deborphan | xargs sudo apt-get -y remove --purge
+# Pour changer la couleur des scrollbars (gris sur gris par défaut)
+${AGI} gnome-color-chooser
+
+ubuntu_cleanup
exit $?