mirror of
https://github.com/philmmanjaro/alma.git
synced 2025-12-06 19:29:21 +01:00
[presets] add steamos files
This commit is contained in:
113
presets/steam/steamos/bin/steamos-settings-importer
Executable file
113
presets/steam/steamos/bin/steamos-settings-importer
Executable file
@@ -0,0 +1,113 @@
|
||||
#!/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
|
||||
|
||||
Reference in New Issue
Block a user