mirror of
https://github.com/philmmanjaro/alma.git
synced 2025-07-26 23:19:30 +02:00
114 lines
3.5 KiB
Bash
Executable File
114 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# -*- mode: sh; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
|
# vim: et sts=4 sw=4
|
|
|
|
# SPDX-License-Identifier: LGPL-2.1+
|
|
#
|
|
# Copyright © 2020-2021 Collabora Ltd.
|
|
# Copyright © 2020-2021 Valve Corporation.
|
|
#
|
|
# This file is part of steamos-customizations.
|
|
#
|
|
# steamos-customizations is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public License as
|
|
# published by the Free Software Foundation; either version 2.1 of the License,
|
|
# or (at your option) any later version.
|
|
|
|
SETTINGS_DIR=/efi/settings
|
|
|
|
# Copy steam-settings files from /efi/steam-settings to /home/steamos/.steam-settings/ folder.
|
|
if [ -d /efi/steam-settings ]; then
|
|
# Create target folder if it doesn't exist
|
|
mkdir -p /home/steamos/.steam-settings
|
|
# Copy all settings files to .steam-settings
|
|
cp /efi/steam-settings/* /home/steamos/.steam-settings
|
|
# Change the owner so steam client can read the files.
|
|
chown -R steamos:steamos /home/steamos/.steam-settings
|
|
fi
|
|
|
|
if ! [ -d $SETTINGS_DIR ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# Make sure to consume the settings dir, whatever happens
|
|
trap "rm -fr $SETTINGS_DIR" EXIT
|
|
|
|
# Import user settings
|
|
if [ -f $SETTINGS_DIR/settings.conf ]; then
|
|
|
|
. $SETTINGS_DIR/settings.conf
|
|
|
|
if [ "$LOCALE" ]; then
|
|
echo "Setting locale: $LOCALE"
|
|
localectl set-locale $LOCALE
|
|
fi
|
|
|
|
if [ "$TZ" ]; then
|
|
echo "Setting timezone: $TZ"
|
|
timedatectl set-timezone $TZ
|
|
fi
|
|
|
|
if [ "$KEYBOARD" ]; then
|
|
KBDLAYOUT=$(echo $KEYBOARD | cut -d ':' -f 1)
|
|
|
|
KBDMODEL="pc105"
|
|
case "$KBDLAYOUT" in
|
|
"jp" )
|
|
KBDMODEL="jp106"
|
|
;;
|
|
esac
|
|
|
|
KBDVARIANT=""
|
|
if grep -q ':' <<< "$KEYBOARD"; then
|
|
KBDVARIANT=$(echo $KEYBOARD | cut -d ':' -f 2)
|
|
fi
|
|
|
|
echo "Setting keyboard: layout=$KBDLAYOUT, model=$KBDMODEL, variant=$KBDVARIANT (from '$KEYBOARD')"
|
|
localectl set-x11-keymap $KBDLAYOUT $KBDMODEL $KBDVARIANT
|
|
|
|
# Make sure X will start with the right keyboard layout
|
|
mkdir -p /etc/X11/xorg.conf.d
|
|
cat > /etc/X11/xorg.conf.d/00-keyboard.conf << EOF
|
|
# Read and parsed by systemd-localed. It's probably wise not to edit this file
|
|
# manually too freely.
|
|
Section "InputClass"
|
|
Identifier "system-keyboard"
|
|
MatchIsKeyboard "on"
|
|
Option "XkbLayout" "$KBDLAYOUT"
|
|
Option "XkbModel" "$KBDMODEL"
|
|
Option "XkbVariant" "$KBDVARIANT"
|
|
EndSection
|
|
EOF
|
|
|
|
# Make sure the layout is applied to all ttys
|
|
# XXX No setupcon on ArchLinux, I guess we need something else,
|
|
# like loadkeys?
|
|
if command -v setupcon >/dev/null 2>&1; then
|
|
setupcon
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Import steam libraries
|
|
if [ -f $SETTINGS_DIR/steamlibtab ]; then
|
|
echo "Setting steamlibtab:"
|
|
cat $SETTINGS_DIR/steamlibtab | tee --append /etc/steamlibtab
|
|
systemctl daemon-reload
|
|
systemctl restart local-fs.target
|
|
fi
|
|
|
|
# Import network configuration
|
|
if [ -d $SETTINGS_DIR/network-connections ]; then
|
|
echo "Installing network configuration"
|
|
mkdir -p /etc/NetworkManager/system-connections
|
|
install -v -m 0600 $SETTINGS_DIR/network-connections/* /etc/NetworkManager/system-connections/
|
|
fi
|
|
|
|
# Mark setup as complete to prevent initial setup from running
|
|
mkdir -p /var/lib/calamares-steamos
|
|
touch /var/lib/calamares-steamos/initial_setup_complete
|
|
rm -f /etc/sddm.conf.d/calamares-initial-setup.conf \
|
|
/root/.config/kwinrulesrc \
|
|
/root/.xsessions/steamos-initial-setup.desktop
|
|
|