mirror of
https://github.com/KDE/kde-linux.git
synced 2026-08-04 11:12:32 -04:00
111 lines
3.4 KiB
Bash
Executable File
111 lines
3.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
|
# SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
|
|
|
|
set -ex
|
|
|
|
env
|
|
|
|
mkdir --mode 0700 /system # for the kde-linux-overlay.service
|
|
|
|
export SYSTEMD_ESP_PATH="$BOOT_MNT"
|
|
mkdir -p --mode 0700 "$SYSTEMD_ESP_PATH"
|
|
bootctl install
|
|
echo 'timeout 7' >> "$SYSTEMD_ESP_PATH/loader/loader.conf"
|
|
cp /usr/share/ovmf/Shell.efi "$SYSTEMD_ESP_PATH/"
|
|
rm -rf /usr/share/swcatalog
|
|
|
|
mkdir -p /usr/share/icons/default/
|
|
cat <<- EOF > /usr/share/icons/default/index.theme
|
|
[Icon Theme]
|
|
Inherits=breeze_cursors
|
|
EOF
|
|
|
|
[ -f /usr/lib/os-release ] || false
|
|
cat /usr/lib/os-release
|
|
|
|
# Rename the packaged kde-mimeapps.list to mimeapps.list
|
|
# This allows our kde-mimeapps.list to take precedence.
|
|
mv -v /usr/share/applications/kde-mimeapps.list /usr/share/applications/mimeapps.list
|
|
mv -v /usr/share/applications/kde-linux-mimeapps.list /usr/share/applications/kde-mimeapps.list
|
|
|
|
download_flatpaks() {
|
|
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
# Do this separately, when used as part of remote-add it complains about GPG for unknown reasons
|
|
flatpak remote-modify --collection-id=org.flathub.Stable flathub
|
|
|
|
# Setting "*" will let Flatpak download all languages at once
|
|
flatpak config --set languages "*"
|
|
|
|
kde_nightly=(
|
|
ark
|
|
gwenview
|
|
kcalc
|
|
keepsecret
|
|
haruna
|
|
okular
|
|
qrca
|
|
)
|
|
|
|
# Add Nightly repos
|
|
for app in "${kde_nightly[@]}"; do
|
|
flatpak remote-add --if-not-exists "${app}-nightly" \
|
|
"https://cdn.kde.org/flatpak/${app}-nightly/${app}-nightly.flatpakrepo"
|
|
done
|
|
|
|
# Flatpak ignores repo priorities, prompting for remote selection.
|
|
# Looping avoids this and keeps automation working.
|
|
# Issue: https://github.com/flatpak/flatpak/issues/5421
|
|
for app in "${kde_nightly[@]}"; do
|
|
flatpak install --or-update --noninteractive --assumeyes "${app}-nightly" "org.kde.${app}"
|
|
done
|
|
|
|
# Install KWrite from Flathub for now, until it has a nightly repo.
|
|
flatpak install --or-update --noninteractive --assumeyes flathub \
|
|
org.gtk.Gtk3theme.Breeze \
|
|
org.kde.kwrite \
|
|
org.mozilla.firefox
|
|
|
|
# And restore default
|
|
flatpak config --unset languages
|
|
}
|
|
download_flatpaks
|
|
|
|
# Fetch latest distrobox config from the kde-linux-containers repo
|
|
mkdir -p /usr/share/distrobox
|
|
curl --output /usr/share/distrobox/distrobox.conf \
|
|
'https://invent.kde.org/api/v4/projects/19899/repository/files/distrobox.conf/raw'
|
|
|
|
# Enable samba usershare
|
|
cat <<- EOF >> /etc/samba/smb.conf
|
|
[global]
|
|
usershare path = /var/lib/samba/usershares
|
|
usershare max shares = 100
|
|
usershare allow guests = yes
|
|
usershare owner only = yes
|
|
EOF
|
|
|
|
# Set default shell as zsh for new users
|
|
sed -i 's%^SHELL=/usr/bin/bash%SHELL=/usr/bin/zsh%' /etc/default/useradd
|
|
|
|
# Put new users in sambashare group
|
|
sed -i 's%^GROUP=users%GROUP=users\nGROUPS=sambashare%' /etc/default/useradd
|
|
|
|
# Our Plymouth Theme
|
|
KEEP_THEME="breeze-bgrt"
|
|
|
|
# Set default Plymouth Theme
|
|
plymouth-set-default-theme "$KEEP_THEME"
|
|
|
|
# Remove all other themes except KEEP_THEME, text, and details
|
|
for theme in $(plymouth-set-default-theme --list); do
|
|
if [[ "$theme" != "$KEEP_THEME" && "$theme" != "text" && "$theme" != "details" ]]; then
|
|
theme_dir="/usr/share/plymouth/themes/$theme"
|
|
[[ -d "$theme_dir" ]] && rm -rf -- "$theme_dir"
|
|
fi
|
|
done
|
|
|
|
cd /tmp
|
|
/usr/lib/rebuild-efi
|
|
mv -v ./*.efi /
|