245 lines
7.7 KiB
Bash
245 lines
7.7 KiB
Bash
#!/bin/bash
|
|
|
|
## This script can create external configuration files for all -tkg packages and tools supporting the feature.
|
|
|
|
# Path to create the external config files in - Default is ~/.config/frogminer
|
|
_EXT_CONFIG_PATH=~/.config/frogminer
|
|
|
|
_cfg_loop() {
|
|
if [ -e "$_config_file_path"/"$_config_file_basename" ] && [ ! -e "$_EXT_CONFIG_PATH"/"$_config_file_targname" ]; then
|
|
cp -v "$_config_file_path"/"$_config_file_basename" "$_EXT_CONFIG_PATH"/"$_config_file_targname"
|
|
else
|
|
echo "$_EXT_CONFIG_PATH/$_config_file_targname already exists. Skipping..."
|
|
fi
|
|
}
|
|
|
|
_external_cfg() {
|
|
# dxvk-tools
|
|
if [ "$dxvk_tools" == "true" ]; then
|
|
_config_file_path=dxvk-tools
|
|
_config_file_basename=updxvk.cfg
|
|
_config_file_targname=updxvk.cfg
|
|
unset dxvk_tools
|
|
_cfg_loop
|
|
fi
|
|
|
|
# gamescope
|
|
if [ "$gamescope" == "true" ]; then
|
|
_config_file_path=gamescope-git
|
|
_config_file_basename=customization.cfg
|
|
_config_file_targname=gamescope-git.cfg
|
|
unset gamescope
|
|
_cfg_loop
|
|
fi
|
|
|
|
# linux54-tkg
|
|
if [ "$linux54_tkg" == "true" ]; then
|
|
_config_file_path=linux-tkg/linux54-tkg
|
|
_config_file_basename=customization.cfg
|
|
_config_file_targname=linux54-tkg.cfg
|
|
unset linux54_tkg
|
|
_cfg_loop
|
|
fi
|
|
|
|
# linux57-tkg
|
|
if [ "$linux57_tkg" == "true" ]; then
|
|
_config_file_path=linux-tkg/linux57-tkg
|
|
_config_file_basename=customization.cfg
|
|
_config_file_targname=linux57-tkg.cfg
|
|
unset linux57_tkg
|
|
_cfg_loop
|
|
fi
|
|
|
|
# linux58-tkg
|
|
if [ "$linux58_tkg" == "true" ]; then
|
|
_config_file_path=linux-tkg/linux58-tkg
|
|
_config_file_basename=customization.cfg
|
|
_config_file_targname=linux58-tkg.cfg
|
|
unset linux58_tkg
|
|
_cfg_loop
|
|
fi
|
|
|
|
# linux59_rc-tkg
|
|
if [ "$linux59_rc_tkg" == "true" ]; then
|
|
_config_file_path=linux-tkg/linux59-rc-tkg
|
|
_config_file_basename=customization.cfg
|
|
_config_file_targname=linux59-tkg.cfg
|
|
unset linux59_rc_tkg
|
|
_cfg_loop
|
|
fi
|
|
|
|
# mesa-git
|
|
if [ "$mesa_git" == "true" ]; then
|
|
_config_file_path=mesa-git
|
|
_config_file_basename=customization.cfg
|
|
_config_file_targname=mesa-git.cfg
|
|
unset mesa_git
|
|
_cfg_loop
|
|
fi
|
|
|
|
# mostlyportable-gcc
|
|
if [ "$mostlyportable_gcc" == "true" ]; then
|
|
_config_file_path=mostlyportable-gcc
|
|
_config_file_basename=mostlyportable-gcc.cfg
|
|
_config_file_targname=mostlyportable-gcc.cfg
|
|
unset mostlyportable_gcc
|
|
_cfg_loop
|
|
fi
|
|
|
|
# mostlyportable-mingw
|
|
if [ "$mostlyportable_mingw" == "true" ]; then
|
|
_config_file_path=mostlyportable-gcc
|
|
_config_file_basename=mostlyportable-mingw.cfg
|
|
_config_file_targname=mostlyportable-mingw.cfg
|
|
unset mostlyportable_mingw
|
|
_cfg_loop
|
|
fi
|
|
|
|
# nvidia-all
|
|
if [ "$nvidia_all" == "true" ]; then
|
|
_config_file_path=nvidia-all
|
|
_config_file_basename=customization.cfg
|
|
_config_file_targname=nvidia-all.cfg
|
|
unset nvidia_all
|
|
_cfg_loop
|
|
fi
|
|
|
|
# vkd3d-git
|
|
if [ "$vkd3d_git" == "true" ]; then
|
|
_config_file_path=vkd3d-git
|
|
_config_file_basename=customization.cfg
|
|
_config_file_targname=vkd3d-git.cfg
|
|
unset vkd3d_git
|
|
_cfg_loop
|
|
fi
|
|
|
|
# proton-tkg
|
|
if [ "$proton_tkg" == "true" ]; then
|
|
_config_file_path=wine-tkg-git/proton-tkg/proton-tkg-profiles
|
|
_config_file_basename=sample-external-config.cfg
|
|
_config_file_targname=proton-tkg.cfg
|
|
unset proton_tkg
|
|
_cfg_loop
|
|
fi
|
|
|
|
# wine-tkg
|
|
if [ "$wine_tkg" == "true" ]; then
|
|
_config_file_path=wine-tkg-git/wine-tkg-git/wine-tkg-profiles
|
|
_config_file_basename=sample-external-config.cfg
|
|
_config_file_targname=wine-tkg.cfg
|
|
unset wine_tkg
|
|
_cfg_loop
|
|
fi
|
|
}
|
|
|
|
_main_loop() {
|
|
echo -e "What do you want to do?"
|
|
read -rp "`echo $' > 1.Create missing external config files\n 2.Update submodules\n 3.Exit\nchoice[1-3?]: '`" _choice;
|
|
if [ "$_choice" == "2" ]; then
|
|
#git submodule update --remote
|
|
for _tkg_tools in */; do
|
|
if [ "$_tkg_tools" != ".git" ]; then
|
|
( cd "$_tkg_tools" && git config pull.rebase false && git checkout master && git pull origin master )
|
|
fi
|
|
done
|
|
elif [ "$_choice" == "3" ]; then
|
|
exit 0
|
|
else
|
|
mkdir -p "$_EXT_CONFIG_PATH"
|
|
echo -e "\nPlease select which tool you want to create external config files for (or all of them with option #1) :"
|
|
select tkg_tools in "all" "dxvk_tools" "gamescope" "linux54_tkg" "linux57_tkg" "linux58_tkg" "linux59_rc_tkg" "mesa_git" "mostlyportable_gcc" "mostlyportable_mingw" "nvidia_all" "vkd3d_git" "proton_tkg" "wine_tkg"
|
|
do
|
|
case $tkg_tools in
|
|
"all")
|
|
dxvk_tools="true"
|
|
gamescope="true"
|
|
linux54_tkg="true"
|
|
linux56_tkg="true"
|
|
linux57_tkg="true"
|
|
linux58_rc_tkg="true"
|
|
mesa_git="true"
|
|
mostlyportable_gcc="true"
|
|
mostlyportable_mingw="true"
|
|
nvidia_all="true"
|
|
vkd3d_git="true"
|
|
proton_tkg="true"
|
|
wine_tkg="true"
|
|
;;
|
|
"dxvk_tools")
|
|
dxvk_tools="true"
|
|
;;
|
|
"gamescope")
|
|
gamescope="true"
|
|
;;
|
|
"linux54_tkg")
|
|
linux54_tkg="true"
|
|
;;
|
|
"linux57_tkg")
|
|
linux57_rc_tkg="true"
|
|
;;
|
|
"linux58_tkg")
|
|
linux58_tkg="true"
|
|
;;
|
|
"linux59_rc_tkg")
|
|
linux59_rc_tkg="true"
|
|
;;
|
|
"mesa_git")
|
|
mesa_git="true"
|
|
;;
|
|
"mostlyportable_gcc")
|
|
mostlyportable_gcc="true"
|
|
;;
|
|
"mostlyportable_mingw")
|
|
mostlyportable_mingw="true"
|
|
;;
|
|
"nvidia_all")
|
|
nvidia_all="true"
|
|
;;
|
|
"vkd3d_git")
|
|
vkd3d_git="true"
|
|
;;
|
|
"proton_tkg")
|
|
proton_tkg="true"
|
|
;;
|
|
"wine_tkg")
|
|
wine_tkg="true"
|
|
;;
|
|
*)
|
|
esac
|
|
break
|
|
done
|
|
echo ""
|
|
_external_cfg
|
|
echo ""
|
|
fi
|
|
_main_loop
|
|
}
|
|
|
|
cat << 'EOM'
|
|
.---.` `.---.
|
|
`/syhhhyso- -osyhhhys/`
|
|
.syNMdhNNhss/``.---.``/sshNNhdMNys.
|
|
+sdMh.`+MNsssssssssssssssNM+`.hMds+
|
|
:syNNdhNNhssssssssssssssshNNhdNNys:
|
|
/ssyhhhysssssssssssssssssyhhhyss/
|
|
.ossssssssssssssssssssssssssssso.
|
|
:sssssssssssssssssssssssssssssssss: TKG tools
|
|
/sssssssssssssssssssssssssssssssssss/ Thingy
|
|
:sssssssssssssoosssssssoosssssssssssss:
|
|
osssssssssssssoosssssssoossssssssssssso
|
|
osssssssssssyyyyhhhhhhhyyyyssssssssssso
|
|
/yyyyyyhhdmmmmNNNNNNNNNNNmmmmdhhyyyyyy/
|
|
smmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmmms
|
|
/dNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNd/
|
|
`:sdNNNNNNNNNNNNNNNNNNNNNNNNNds:`
|
|
`-+shdNNNNNNNNNNNNNNNdhs+-`
|
|
`.-:///////:-.`
|
|
|
|
EOM
|
|
|
|
echo -e "This script can create external configuration files for all -tkg packages and tools supporting the feature.\nAlready existing config files will NOT be overwritten, so you'll want to remove any you'd want regenerated.\n\nIt can also update submodules if needed.\n"
|
|
|
|
echo -e "Current external config path is set to $_EXT_CONFIG_PATH \n"
|
|
|
|
_main_loop
|