Ajout fichier de configuration séparé
[hvlinux.git] / ubuntu / ubuntu-cfg.sh
index f8ab490..50326ef 100755 (executable)
@@ -1,11 +1,11 @@
-#!/bin/sh
+#!/bin/bash
 set -o errexit
 
+source ./config.def
+
 # Liste des items:
 # 1. Désactiver touch CAPS LOCK
 
-#INSTALL_WMAKER=1
-
 GST=gstreamer0.10
 
 APT="sudo apt-get --yes --force-yes"
@@ -35,8 +35,10 @@ 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
@@ -63,6 +65,21 @@ if dpkg --list | grep "vinagre" 1> /dev/null 2>&1; then
     ${APT} remove --purge vinagre
 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
@@ -74,31 +91,29 @@ if dpkg --list | grep "nvidia" 1> /dev/null 2>&1; then
     ${APT} remove --purge nvidia-*
 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
-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-2 --set /apps/panel/applets/clock_screen0/prefs/format --type string 24-hour
+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
 
 # Désactivation demande du mot de passe en mode hibernation
 gconftool --type Boolean --set /apps/gnome-power-manager/lock/suspend false
@@ -110,6 +125,13 @@ for dir in Public Templates ; do
     fi
 done
 
+# 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
@@ -153,38 +175,63 @@ sudo update-grub
 ${AGI} emacs
 
 ${AGI} reiserfsprogs gparted
+${AGI} gddrescue
+${AGI} smartmontools --no-install-recommends
 
 # Connection serveurs NFS
 ${AGI} nfs-common portmap
 
-# Development
 ${AGI} subversion
-${AGI} git
-
-${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
+# Development
+if [ "x${INSTALL_DEV_TOOLS}" = "x1" ]; then
+    ${AGI} git
+    ${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
 
 ${AGI} abiword gnumeric gnumeric-plugins-extra
 ${AGI} texlive texlive-latex-recommended texlive-latex-extra texlive-humanities
 
-# Multimedia
-${AGI} jackd patchage
-${AGI} pulseaudio-module-jack
-sudo adduser $(whoami) audio
-# /etc/security/limits.d/audio.conf -> set rtprio from 95 to 99 ???
+# Jackd
+if [ "x${INSTALL_MUSIC_STUDIO}" = "x1" ]; then
+    ${AGI} 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} libdvdread4
 if [ ! -h /usr/lib/libdvdcss.so.2 ]; then
     sudo /usr/share/doc/libdvdread4/install-css.sh
@@ -192,28 +239,33 @@ fi
 ${AGI} ffmpeg
 ${AGI} ${GST}-ffmpeg ${GST}-plugins-bad ${GST}-plugins-ugly ${GST}-fluendo-mp3
 ${AGI} mozilla-plugin-gnash # Requires "mysql-common"
-${AGI} vlc mozilla-plugin-vlc
 if [ -h /dev/cdrom ]; then # Don't install on machines without CD/DVD-ROM
+${AGI} vlc mozilla-plugin-vlc
     ${AGI} sound-juicer
 fi
 
 # Musique
 ${AGI} vorbis-tools
-
 ${AGI} timidity fluid-soundfont-gm fluid-soundfont-gs
-# Désactivation de Timidity au démarrage (sytem-wide):
-sudo sed -i -e 's!^# \(TIM_ALSASEQ=false\)!\1!' /etc/default/timidity
 ${AGI} easytag
-${AGI} vkeybd
 ${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
+fi
 
 ${AGI} sylpheed
 gconftool -s /desktop/gnome/url-handlers/mailto/command -t string "sylpheed --compose %s"
-# 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
+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
 
 if [ "x${INSTALL_WMAKER}" = "x1" ]; then
     ${AGI} wmaker
@@ -224,17 +276,18 @@ gnome-settings-daemon
 EOF
         chmod 755 ${HOME}/GNUstep/Library/WindowMaker/autostart
     fi
-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
 
 ubuntu_cleanup