File config.sh of Package archlinux-live

#!/bin/bash
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile

#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."

#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 5

#======================================
# Activate services
#--------------------------------------
for i in systemd-resolved NetworkManager lightdm udisks2 ; do
  baseInsertService $i
done

#======================================
# Deactivate services
#--------------------------------------
#for i in dmraid-activation sshd ; do
#  baseRemoveService $i
#done

#======================================
# Plymouth theme chooser
#--------------------------------------
plymouth-set-default-theme breeze

#======================================
# Enable first mirror in mirrorlist
#--------------------------------------
sed -i '0,/#Server/s/^#//' /etc/pacman.d/mirrorlist
echo '
[home_AndnoVember_Arch_Arch]
Server = https://download.opensuse.org/repositories/home:/AndnoVember:/Arch/Arch/$arch' >> /etc/pacman.conf

#======================================
# Generate system locale and configure it
#--------------------------------------
LOCALE=ru_RU.UTF-8
echo "LANG=$LOCALE" > /etc/locale.conf
sed -i "/$LOCALE/s/^#//" /etc/locale.gen
locale-gen

#=======================================
# Setup system keymap
#---------------------------------------
cat > /etc/vconsole.conf <<-EOF
KEYMAP=ruwin_alt-UTF-8
FONT=UniCyr_8x16.psf
FONT_MAP=
FONT_UNIMAP=
EOF

#======================================
# Create Live session user
#--------------------------------------
# groups: liveuser,...
# mkpasswd <password> -m md5 -S `pwgen -s1n 8`
LIVEUSER=liveuser
/usr/sbin/useradd -m -u 1000 $LIVEUSER -c 'Live User' -p '' -d /home/$LIVEUSER \
-s /bin/bash -G wheel

sed -i '0,/%wheel/s/# //' /etc/sudoers

#======================================
# Autologin
#--------------------------------------
[ -f /etc/lightdm/lightdm.conf ] && cp /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf.orig
cat > /etc/lightdm/lightdm.conf <<-EOF
[Seat:*]
allow-guest=false
autologin-guest=false
autologin-user=$LIVEUSER
autologin-user-timeout=0
session-wrapper=/etc/lightdm/Xsession
EOF
sed -i 's|^#\(background=\).*|\1/usr/share/backgrounds/xfce/xfce-blue.jpg|' /etc/lightdm/lightdm-gtk-greeter.conf

#======================================
# Generating pacman master key
#--------------------------------------
pacman-key --init

#======================================
# Locally signing trusted keys in keyring
#--------------------------------------
pacman-key --populate

#======================================
# Locally sign the given key.
#--------------------------------------
pacman-key --add /pubkeys/home_AndnoVember_Arch_Arch.key
pacman-key --lsign-key "home:AndnoVember OBS Project <home:AndnoVember@build.opensuse.org>"
rm -rf /pubkeys

#======================================
# Whisker Menu
#--------------------------------------
if test -x /usr/bin/xfce4-popup-whiskermenu; then
    sed -i 's/applications/whisker/' /etc/xdg/xfce4/panel/default.xml
    mkdir -p /etc/xdg/xfce4/whiskermenu
    cat > /etc/xdg/xfce4/whiskermenu/defaults.rc <<-EOF
button-title=\ ArchLinux\ 
button-icon=archlinux-logo
show-button-title=true
show-button-icon=true
hover-switch-category=true
position-search-alternate=true
position-commands-alternate=true
position-categories-alternate=true
view-as-icons=false
item-icon-size=2
favorites=xfce4-web-browser.desktop,xfce4-mail-reader.desktop,xfce4-file-manager.desktop,atril.desktop,\
org.xfce.ristretto.desktop,xfce-settings-manager.desktop,org.xfce.mousepad.desktop,xfce4-terminal-emulator.desktop
EOF
fi

#======================================
# Hostname
#--------------------------------------
echo "archlinux" > /etc/hostname

#======================================
# Decompress kernel modules
#--------------------------------------
#find /lib/modules/*/kernel -name '*.ko.zst' -exec zstd --rm -d {} +
#depmod $(basename /lib/modules/*)

#======================================
# Remove large/irrelevant firmwares
#--------------------------------------
rm -rf /usr/lib/firmware/{bnx2x,cxgb4,cypress,dpaa2,liquidio,mellanox,mrvl/prestera,netronome,qcom,qed}

#======================================
# Remove some large locales to save space
#--------------------------------------
#rm -rf /usr/share/locale/{ca,cs,da,de,es,fr,it,ja,nl,pl,pt_BR,sv,uk,vi,zh_CN}
find /usr/share/locale/* -maxdepth 0 -type d -not -name 'ru' -not -name 'ru_RU' | xargs rm -rf
find /usr/share/help/* -maxdepth 0 -type d -not -name 'C' -not -name 'ru' -not -name 'ru_RU' | xargs rm -rf

#======================================
# Save some more space by removing
# large & unnecessary files
#--------------------------------------
rm -rf /usr/share/doc/*
rm -rf /usr/share/gtk-doc/*
rm -rf /usr/share/licenses/*
rm -rf /usr/include/*
rm -f /lib/modules/*/vmlinuz
rm -f /usr/share/man/man3/*
find /usr/lib/ -type f,l -name '*.a' -or -name '*.la' -delete
openSUSE Build Service is sponsored by