# __ ____ ____ _____ # ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ # / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ # / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / # / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ # /_/ /____/ # What ? This kickstart file provides a basic block to build a minimal and customized desktop-oriented operating system using GNOME Shell. xconfig --startxonboot --defaultdesktop=GNOME # Start the display session on boot. Although it says --startx, which seems to imply xorg, it is actually generic and thus works also with Wayland. %packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies gnome-shell # the version 3 of the GNOME desktop environment, without any presintalled applications gnome-terminal # install the default terminal for GNOME Shell -gnome-tour # delete GNOME Tour so it doesn't automatically launch on boot mesa-dri-drivers # add mesa drivers otherwise there is a blank screen when first booting a desktop-based kickstart without virtualization tools dejavu-sans-mono-fonts # the gnome-shell package doesn't include much fonts by default, resulting in weird spacings in GNOME Terminal. GNOME Terminal unfortunately doesn't automatically pick this font elementary-wallpapers-gnome.noarch # Gorgeous wallpapers from the elementary OS project wpa_supplicant # WPA Supplicant for Linux. It is not packaged by default in GNOME Shell, but necessary to configure wireless networks using the Network Manager NetworkManager-wifi # Provides the plugin to manage Wireless networking within GNOME Shell nano # The nano text editor %end %post --nochroot --log=/mnt/sysimage/opt/base-desktop-gnome.log # Beginning of %post section. Those commands are executed outside the chroot environment cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF [org.gnome.desktop.background] picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg' EOF cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF [org.gnome.desktop.media-handling] automount-open=false autorun-never=true EOF cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF [org.gnome.Terminal.Legacy.Profile] font='DejaVu Sans Mono 12' use-system-font=false audible-bell=false EOF cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF [org.gnome.desktop.wm.preferences] button-layout=':minimize,maximize,close' EOF cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF [org.gnome.desktop.a11y] always-show-universal-access-status=true EOF cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF [org.gnome.desktop.interface] enable-animations=false EOF cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF [org.gnome.desktop.privacy] remove-old-temp-files=true remember-recent-files=false remember-app-usage=false disable-camera=true disable-microphone=true disable-sound-output=true EOF cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF [org.gnome.desktop.search-providers] disable-external=true EOF cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF [org.gnome.desktop.notifications.application] enable-sound-alerts=false EOF cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF [org.gnome.desktop.sound] event-sounds=false EOF cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF [org.gnome.desktop.thumbnailers] disable-all=true EOF glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ %end # End of the %post section