File config.sh of Package lumina-live

#!/bin/bash
#================
# FILE          : config.sh
#----------------
# PROJECT       : openSUSE KIWI Image System
# COPYRIGHT     : (c) 2006,2007,2008,2017 SUSE Linux GmbH. All rights reserved
#               :
# AUTHOR        : Marcus Schaefer <ms@suse.de>, Stephan Kulow <coolo@suse.de>, Fabian Vogt <fvogt@suse.com>
#               :
# LICENSE       : BSD
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile

set -euox pipefail

exec | tee /var/log/config.log
exec 2>&1

#pl=$(rpmqpack | grep package-lists-)
#test -z "$pl" || rpm -e $pl

# Get the flavor from the installed package-lists- RPM
# as <censored> kiwi does not make the flavor accessible
#desktop=$(echo "$pl" | awk -F- '{ print $4 }' | tr A-Z a-z)
desktop=x11

#--------------------------------------
# enable and disable services

for i in langset NetworkManager SuSEfirewall2; do
	systemctl -f enable $i
done
for i in sshd cron wicked purge-kernels; do
	systemctl -f disable $i
done

cd /

# Import keys for installation
touch /installkey.gpg
gpg --batch --homedir /root/.gnupg --no-default-keyring --ignore-time-conflict --ignore-valid-from --keyring /installkey.gpg --import /usr/lib/rpm/gnupg/keys/*
mkdir -p /pubkeys
for i in /usr/lib/rpm/gnupg/keys/*.asc ; do
	rpm --import $i || true
	ln -s "$i" "/pubkeys/${i##*/}.key"
done
for i in /rpmkeys/*.key ; do
        rpm --import $i || true
done
rm -rf /rpmkeys

# Craft license.tar.gz used by YaST
(cd /usr/share/licenses/openSUSE-release/; tar -cvzf /license.tar.gz *)

rm -rf /var/cache/zypp/raw/*

# Add repos from /etc/YaST2/control.xml
releasever="15.1"
eval $(xsltproc /geturls.xsl /etc/YaST2/control.xml)
rm /geturls.xsl
zypper ar -f -n "Lumina-Leap-15.1" http://download.opensuse.org/repositories/home:/AndnoVember:/lumina/openSUSE_Leap_15.1/ lumina
zypper ar -f -n "LXQt-Leap-15.1" http://download.opensuse.org/repositories/home:/AndnoVember:/LXQt/openSUSE_Leap_15.1/ lxqt
zypper ar -f -n "Packman-Leap-15.1" http://packman.inode.at/suse/openSUSE_Leap_15.1/ packman
zypper ar -f -n "libdvdcss-Leap-15.1" http://opensuse-guide.org/repo/openSUSE_Leap_15.1/ libdvdcss

#======================================
# /etc/sudoers hack to fix #297695 
# (Installation Live CD: no need to ask for password of root)
#--------------------------------------
#sed -i -e "s/ALL\tALL=(ALL) ALL/ALL ALL=(ALL) NOPASSWD: ALL/" /etc/sudoers 
#chmod 0440 /etc/sudoers

#/usr/sbin/useradd -m -u 1000 linux -c "Live-CD User" -p ""
/usr/sbin/useradd -m -u 1000 linux -c "Live-CD User" -p '$6$HnhRgXpb85os1xnv$/q9lyggzwlfNtm4rNPvTXBmMqxgisXLA1RaV.MBMoghv318itvttO7F2rg3A1P/Gs1g5pmhAFTGhke1Fp66v.0'
/usr/sbin/usermod -p '$6$lN2kEqjPYu9JF0wW$E1rOwqyQR3D9kcOAMAv6QO6sLPsMbaH5fqnkEuZKPUNR.AQ/tsJMiUs0MDSdI.w5wHcl2s.iJPIDXpsG.t7W/.' root

# delete passwords
#passwd -d root
#passwd -d linux
# empty password is ok
#pam-config -a --nullok

: > /var/log/zypper.log

if [ "$desktop" = "kde" ]; then
    # bug 989897, avoid creating desktop directory on KDE so that the default items are added on first login
    cp /usr/share/applications/installation.desktop /usr/share/kio_desktop/DesktopLinks/
    # Set the application as being "trusted"
    chmod a+x /usr/share/kio_desktop/DesktopLinks/installation.desktop
# else case disabled: 'x11' (rescue) does not contain the installer, GNOME Shell has no concept of 'desktop'
#else
#    # Add Installation icon to desktop folder
#    mkdir -p /home/linux/.config /home/linux/Desktop
#    echo 'XDG_DESKTOP_DIR="$HOME/Desktop"' > /home/linux/.config/user-dirs.dirs
#    ln -s /usr/share/applications/installation.desktop /home/linux/Desktop/
#    # Set the application as being "trusted"
#    chmod a+x /home/linux/Desktop/installation.desktop
fi

chown -R linux /home/linux

chkstat --system --set

rm -rf /var/cache/zypp/packages

# bug 544314, we only want to disable the bit in common-auth-pc
sed -i -e 's,^\(.*pam_gnome_keyring.so.*\),#\1,'  /etc/pam.d/common-auth-pc

ln -s /usr/lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER_AUTOLOGIN linux
baseUpdateSysConfig /etc/sysconfig/keyboard KEYTABLE us.map.gz
baseUpdateSysConfig /etc/sysconfig/keyboard YAST_KEYBOARD "english-us,pc104"
baseUpdateSysConfig /etc/sysconfig/keyboard COMPOSETABLE "clear latin1.add"

baseUpdateSysConfig /etc/sysconfig/language RC_LANG ""

baseUpdateSysConfig /etc/sysconfig/console CONSOLE_FONT "eurlatgr.psfu"
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_SCREENMAP trivial
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_MAGIC "(K"
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_ENCODING "UTF-8"

baseUpdateSysConfig /etc/sysconfig/windowmanager X_MOUSE_CURSOR Adwaita
echo -e '\nXCURSOR_THEME=Adwaita' >> /etc/environment

[ "$desktop" = "x11" ] && displaymanager=sddm
baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER $displaymanager

[ "$desktop" = "x11" ] && windowmanager=Lumina-DE
baseUpdateSysConfig /etc/sysconfig/windowmanager DEFAULT_WM $windowmanager

#Disable journal write to disk in live mode, bug 950999
echo "Storage=volatile" >> /etc/systemd/journald.conf

#======================================>%
_USER="linux"
_HOME="/home/linux"
_ICON="breeze-dark"
_THEME_GTK="Breeze-Dark"
_STYLE="kvantum"
_THEME="system"
_THEME_OB="Arc-Dark"
_THEME_KV="KvSimplicityDark"
_SDDM_THEME="clairvoyance"
_SDDM_WALLPAPER="/usr/share/lumina-desktop/desktop-background.jpg"
_WALLPAPER="/usr/share/wallpapers/openSUSEdefault/contents/images/1920x1080.jpg"

#if [ -f /etc/lightdm/lxqt-lightdm-greeter.conf ]; then
#    sed -i "s|^\#\(greeter-background-image=\).*|\1$_WALLPAPER|" \
#        /etc/lightdm/lxqt-lightdm-greeter.conf
#fi

cp /usr/share/sddm/themes/$_SDDM_THEME/theme.conf /usr/share/sddm/themes/$_SDDM_THEME/theme.conf.user
sed -i "s|\(background=\).*|\1$_SDDM_WALLPAPER|" /usr/share/sddm/themes/$_SDDM_THEME/theme.conf.user
if [ -f /usr/lib/sddm/sddm.conf.d/00-general.conf ]; then
    cat >> /usr/lib/sddm/sddm.conf.d/00-general.conf <<-EOF

[Theme]
Current=$_SDDM_THEME
CursorTheme=Adwaita
EOF
fi

sed -i "s/^\(theme=\).*/\1$_THEME/" /etc/xdg/lxqt/lxqt.conf
sed -i "s/^\(icon_theme=\).*/\1$_ICON/" /etc/xdg/lxqt/lxqt.conf
sed -i "s/^\(style=\).*/\1$_STYLE/" /etc/xdg/lxqt/lxqt.conf
sed -i '/\[General\]/s/$/\nwindow_manager=openbox/' /etc/xdg/lxqt/session.conf
sed -i "s|^\(Wallpaper=\).*|\1$_WALLPAPER|" \
    /etc/xdg/pcmanfm-qt/lxqt/settings.conf

sed -i "s/\(gtk-icon-theme-name = \).*/\1\"$_ICON\"/" /etc/gtk-2.0/gtkrc
sed -i "s/\(gtk-icon-theme-name = \).*/\1$_ICON/" /etc/gtk-3.0/settings.ini
sed -i "s/\(gtk-theme-name = \).*/\1\"$_THEME_GTK\"/" /etc/gtk-2.0/gtkrc
sed -i "s/\(gtk-theme-name = \).*/\1$_THEME_GTK/" /etc/gtk-3.0/settings.ini

if [ -d /usr/share/themes/$_THEME_OB ]; then
    sed -i "s/Clearlooks/$_THEME_OB/" /etc/xdg/openbox/rc.xml
    sed -i "s/Onyx/$_THEME_OB/" /etc/xdg/openbox/lxqt-rc.xml
fi

cat >> /etc/xdg/lxqt/globalkeyshortcuts.conf <<-EOF

[Alt%2BF11.9]
Comment=Skippy-XD
Enabled=true
Exec=skippy-xd
EOF
sed -i "/background = #/!s|^\(background =\).*|\1 $_WALLPAPER|" /etc/xdg/skippy-xd.rc
sed -i 's/^\(show = \).*/\1false/' /etc/xdg/skippy-xd.rc

if [ -f /etc/xdg/bl-exit/bl-exitrc ]; then
    menu="/etc/xdg/openbox/menu.xml"
    sed -i -e 's/Exit/Execute/' \
    -e '/prompt/s|yes|bl-exit|' \
    -e 's/prompt/command/g' $menu
    echo -e 'xscreensaver -no-splash &\nidesk &\ntint2 &\ncompton &\nnm-tray &\n' >> \
        /etc/xdg/openbox/autostart
    # blue, dark, darkred, grey, light, orange
    sed -i 's/\(rcfile = \).*/\1dark\.rc/' /etc/xdg/bl-exit/bl-exitrc
    # bunsen-small, dark, light, minimal
    sed -i 's/\(theme = \).*/\1bunsen-small/' /etc/xdg/bl-exit/bl-exitrc
fi

echo -e '\nexport QT_QPA_PLATFORMTHEME=lxqt\nexport XDG_CURRENT_DESKTOP=LXQt' >> /etc/skel/.profile
cp /etc/skel/.profile /root/
cp /etc/skel/.profile $_HOME/.profile

mkdir -p $_HOME/Desktop
if [ -f "/usr/share/applications/org.kde.falkon.desktop" ]; then
    cp -f /usr/share/applications/org.kde.falkon.desktop $_HOME/Desktop/
fi

# Kvantum themes
if [ -f /etc/xdg/Kvantum/kvantum.kvconfig ]; then
sed -i "s/\(theme=\).*/\1$_THEME_KV/" /etc/xdg/Kvantum/kvantum.kvconfig
fi

if [ -x /usr/bin/idesk ]; then
mkdir -p $_HOME/.idesktop
cat > $_HOME/.idesktop/falkon.lnk <<-EOF
table Icon
  Caption: Web Browser
  Command: /usr/bin/falkon
  Icon: /usr/share/icons/hicolor/48x48/apps/falkon.png
  Width: 48
  Height: 48
  X: 30
  Y: 30
end
EOF
cat > $_HOME/.ideskrc <<-EOF
table Config
  FontName: Droid Sans
  FontSize: 10
  FontColor: #d3dae3
  FontNameTip: Droid Sans
  FontSizeTip: 9
  ForeColorTip: #0000FF
  BackColorTip: #FFFFFF
  PaddingX: 10
  PaddingY: 10
  Transparency: 75
  HighContrast: true
  Locked: true
  Shadow: false
  ShadowColor: #0006FA
  ShadowX: 2
  ShadowY: 2
  SnapShadow: true
  IconSnap: true
  SnapWidth: 10
  SnapHeight: 10
  SnapOrigin: BottomRight
  SnapShadowTrans: 300
  CaptionOnHover: true
  Bold: true
  ToolTip.FontSize: 10
  ToolTip.FontName: Droid Sans
  ToolTip.ForeColor: #d3dae3
  ToolTip.BackColor: #5294e2
  ToolTip.CaptionOnHover: false
  ToolTip.CaptionPlacement: Right
  Background.Delay: 0
  Background.Source: $_HOME/.idesktop/icons
  Background.File: $_WALLPAPER
  Background.Mode: Scale
  Background.Color: #C2CCFF
end

table Actions
  Lock: control right doubleClk
  Reload: middle doubleClk
  Drag: left hold
  EndDrag: left singleClk
  Execute[0]: left doubleClk
  Execute[1]: right doubleClk
end
EOF
fi

mkdir -p $_HOME/.config/lthemeengine
cat > $_HOME/.config/lthemeengine/lthemeengine.conf <<-EOF
[Appearance]
style=$_STYLE
EOF

sed -i "s/^\(theme_iconset=\).*#/\1$_ICON #/" /etc/luminaDesktop.conf.dist
sed -i 's/xterm\(\.desktop\)/qterminal\1/' /etc/luminaDesktop.conf.dist
sed -i 's/qupzilla\(\.desktop\)/org.kde.falkon\1/' /etc/luminaDesktop.conf.dist
# Bug Fixes: ========>%
sed -i '/session_playloginaudio/s/=true/=false/' /etc/luminaDesktop.conf.dist
sed -i '/session_playlogoutaudio/s/=true/=false/' /etc/luminaDesktop.conf.dist
#====================>%

chown -R $_USER:users $_HOME

chkstat --system --set

mkdir -p /etc/zypp/vendors.d
cat > /etc/zypp/vendors.d/packman <<-EOF
[main]
vendors = openSUSE,http://packman.links2linux.de
EOF
#======================================>%
openSUSE Build Service is sponsored by