diff options
author | BeatLink <beatlink@protonmail.com> | 2019-07-13 21:16:18 -0500 |
---|---|---|
committer | BeatLink <beatlink@protonmail.com> | 2019-07-13 21:16:18 -0500 |
commit | 3bf4148aca596b499f9e19ed323817082b753f2e (patch) | |
tree | 85667dacaeaadc610b21822f8c67e696fb6aa212 /settings/install_settings.sh | |
parent | Enable dev tools by default (diff) | |
download | librewolf-linux-3bf4148aca596b499f9e19ed323817082b753f2e.tar.gz librewolf-linux-3bf4148aca596b499f9e19ed323817082b753f2e.tar.bz2 librewolf-linux-3bf4148aca596b499f9e19ed323817082b753f2e.zip |
Move install script in preparation for settings rewrite
Diffstat (limited to 'settings/install_settings.sh')
-rwxr-xr-x | settings/install_settings.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/settings/install_settings.sh b/settings/install_settings.sh new file mode 100755 index 0000000..4802b91 --- /dev/null +++ b/settings/install_settings.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +# The purpose of this file is to automatically install the librewolf settings into every profile that exists in the +# profiles.ini file. +# +# This script is intended to be called at librewolf startup. +# +# This script should be used from the librewolf source code, otherwise the settings data folder must be specified below +# +# This script does not overwrite the settings files if they exist, so feel free to customize your per profile configurations +# +# For Reference, profiles can be found in: /home/<username>/.librewolf/ + +LIBREWOLF_FOLDER=$HOME/.librewolf; +PROFILE_FILE=${LIBREWOLF_FOLDER}/profiles.ini; +SCRIPT_FOLDER=$(realpath $(dirname $0)); +SETTINGS_DATA_FOLDER=$SCRIPT_FOLDER/settings; + +profile_folders=(); + +# Get profile folders from profiles.ini -------------------------------------------------------------------------------- +function get_profile_folders() { + while IFS= read -r line; do # reads file line by line, saving each line to $line + if [[ ${line} == "Path="* ]]; then # checks if $line starts with "Path=" + IFS='='; read -ra split_line <<< "$line"; # splits the line on '=' storing values in the $split_line array + path=${split_line[1]}; # gets the path from the second element of the array + if [[ ${path} != /* ]]; then + path=${LIBREWOLF_FOLDER}/${path}; + fi + profile_folders+=(${path}) # appends the second element of split_line array (the path) to $profile_folders + fi + done < ${PROFILE_FILE} +} + +# Install script to profile folders ------------------------------------------------------------------------------------- +function add_settings_to_folder() { + get_profile_folders; + for profile_folder in "${profile_folders[@]}" + do + echo "Adding settings to" ${profile_folder} + cp -rvn ${SETTINGS_DATA_FOLDER} $profile_folder/ + # do whatever on $i + done +} + +add_settings_to_folder; |