# Adapted from fedora-live-desktop.ks # and fedora-livecd-desktop.ks %include fedora-live-base.ks %include fedora-live-minimization.ks part / --size 8192 %packages @gnome-desktop # Eclipse stuff @eclipse eclipse-wtp-* eclipse-mercurial # JBoss AS7 & JBoss Tools jboss-as eclipse-jbosstools-* # Other stuff expected for a Java Spin ant apache-ivy maven jetty* tomcat # Other useful stuff xchat git gitg rapidsvn mercurial tortoisehg java-1.7.0-openjdk-devel maven groovy ant scala clojure thermostat mysql-connector-java h2 vim-enhanced gedit-plugins asciidoc rubygem-rhc emacs # Remove unnecessary gnome stuff that might be included -@office -@sound-and-video -@graphical-internet # Add only what is needed firefox # FIXME; apparently the glibc maintainers dislike this, but it got put into the # desktop image at some point. We won't touch this one for now. nss-mdns # This one needs to be kicked out of @base -smartmontools # The gnome-shell team does not want extensions in the default spin; # ibus support in gnome-shell will be integrated in GNOME 3.4 -ibus-gnome3 # First, no office -libreoffice-* -planner # Drop things that pull in perl -linux-atm # No printing -foomatic-db-ppds -foomatic # Dictionaries are big -aspell-* -hunspell-* -man-pages* -words # Help and art can be big, too -gnome-user-docs -evolution-help -gnome-games-help -desktop-backgrounds-basic -*backgrounds-extras # Legacy cmdline things we don't want -krb5-auth-dialog -krb5-workstation -pam_krb5 -quota -nano -minicom -dos2unix -finger -ftp -jwhois -mtr -pinfo -rsh -telnet -nfs-utils -ypbind -yp-tools -rpcbind -acpid -ntsysv # Drop some system-config things -system-config-boot -system-config-language -system-config-network -system-config-rootpassword -system-config-services -policycoreutils-gui %end %post cat >> /etc/rc.d/init.d/livesys << EOF # disable screensaver locking cat >> /usr/share/glib-2.0/schemas/org.gnome.desktop.screensaver.gschema.override << FOE [org.gnome.desktop.screensaver] lock-enabled=false FOE # and hide the lock screen option cat >> /usr/share/glib-2.0/schemas/org.gnome.desktop.lockdown.gschema.override << FOE [org.gnome.desktop.lockdown] disable-lock-screen=true FOE # disable updates plugin cat >> /usr/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.updates.gschema.override << FOE [org.gnome.settings-daemon.plugins.updates] active=false FOE # make the installer show up if [ -f /usr/share/applications/liveinst.desktop ]; then # Show harddisk install in shell dash sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop "" # need to move it to anaconda.desktop to make shell happy mv /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE [org.gnome.shell] favorite-apps=['firefox.desktop', 'eclipse.desktop', 'gnome-terminal.desktop', 'xchat.desktop', 'gitg.desktop', 'tortoisehg.desktop', 'fedora-rapidsvn.desktop', 'nautilus.desktop', 'anaconda.desktop'] FOE # Make the welcome screen show up if [ -f /usr/share/anaconda/gnome/fedora-welcome.desktop ]; then mkdir -p ~liveuser/.config/autostart cp /usr/share/anaconda/gnome/fedora-welcome.desktop /usr/share/applications/ cp /usr/share/anaconda/gnome/fedora-welcome.desktop ~liveuser/.config/autostart/ chown -R liveuser:liveuser /home/liveuser/.config/ fi fi # rebuild schema cache with any overrides we installed glib-compile-schemas /usr/share/glib-2.0/schemas # set up auto-login cat >> /etc/gdm/custom.conf << FOE [daemon] AutomaticLoginEnable=True AutomaticLogin=liveuser FOE # Turn off PackageKit-command-not-found while uninstalled if [ -f /etc/PackageKit/CommandNotFound.conf ]; then sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf fi # # Some experimental settings to default to, from # https://fedoraproject.org/wiki/Fedora-JBoss-Spin # ## Make gnome-terminal maximize by default if [ -f /usr/share/applications/gnome-terminal.desktop ]; then mkdir -p /etc/skel/.local/share/applications mkdir -p ~liveuser/.local/share/applications sed -e 's/^Exec=gnome-terminal$/Exec=gnome-terminal --maximize/' /usr/share/applications/gnome-terminal.desktop > /etc/skel/.local/share/applications/gnome-terminal.desktop cp /etc/skel/.local/share/applications/gnome-terminal.desktop ~liveuser/.local/share/applications/ chown -R liveuser:liveuser ~liveuser/.local fi ## Set JAVA_HOME if [ -d /usr/lib/jvm/java ]; then cat >> /etc/skel/.bash_profile << FOE JAVA_HOME=/usr/lib/jvm/java export JAVA_HOME FOE cp /etc/skel/.bash_profile ~liveuser/ chown liveuser:liveuser ~liveuser/.bash_profile fi ## Some Eclipse options to default mkdir -p /etc/skel/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/ # Enable Eclipse 'Refresh using native hooks or polling' cat >> /etc/skel/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs << FOE refresh.enabled=true FOE ## make Capslock an additional control key in GNOME gsettings set org.gnome.libgnomekbd.keyboard options "['ctrl\tctrl:nocaps']" ## disable attached modal dialogs gsettings set org.gnome.shell.overrides attach-modal-dialogs false ## tab size and expand spaces in Gedit gsettings set org.gnome.gedit.preferences.editor tabs-size 4 gsettings set org.gnome.gedit.preferences.editor insert-spaces true ## Consistent keybindings # gnome-terminal gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-terminal/keybindings/new_tab 't' gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-terminal/keybindings/next_tab 'Right' gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-terminal/keybindings/prev_tab 'Left' gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-terminal/keybindings/move_tab_right 'Right' gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-terminal/keybindings/move_tab_left 'Left' gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-terminal/keybindings/close_tab 'w' gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-terminal/keybindings/close_window 'q' ## Eclipse -- Right for next tab; Left for previous tab cat >> /etc/skel/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs << FOE org.eclipse.ui.commands=\n\n\n\n FOE cp /etc/skel/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs ~liveuser/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/ # Eclipse will need to be able to use the workspace :) cp -r /etc/skel/workspace/ ~liveuser chown -R liveuser:liveuser ~liveuser/workspace/ EOF %end