Add user vs system mode

This commit is contained in:
Fmstrat 2020-11-13 10:45:07 -05:00 committed by Oskar Manhart
parent 184fb1167f
commit 0ac0a448af

View File

@ -1,13 +1,20 @@
#!/usr/bin/env bash #!/usr/bin/env bash
sudo ls > /dev/null
echo "Installing..."
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
. "${DIR}/bin/winapps" install
# Check for installed apps
function waUsage() {
echo 'Usage:
./install.sh --user # Install everything in ${HOME}
./install.sh --system # Install everything in /usr'
exit
}
function waInstall() {
. "${DIR}/bin/winapps" install
}
function waFindInstalled() {
echo -n " Checking for installed apps in RDP machine..." echo -n " Checking for installed apps in RDP machine..."
rm -f ${HOME}/.local/share/winapps/installed.bat rm -f ${HOME}/.local/share/winapps/installed.bat
rm -f ${HOME}/.local/share/winapps/installed rm -f ${HOME}/.local/share/winapps/installed
@ -34,15 +41,16 @@ while (( $THIS_RUN - $LAST_RAN < 5 )); do
fi fi
done done
echo " Finished." echo " Finished."
}
# Install apps function waConfigureApps() {
COUNT=0 COUNT=0
for F in $(cat "${HOME}/.local/share/winapps/installed" |sed 's/\r/\n/g'); do for F in $(cat "${HOME}/.local/share/winapps/installed" |sed 's/\r/\n/g'); do
if [ "${F}" != "DONE" ]; then if [ "${F}" != "DONE" ]; then
COUNT=$((COUNT + 1)) COUNT=$((COUNT + 1))
. "${DIR}/apps/${F}/info" . "${DIR}/apps/${F}/info"
echo -n " Configuring ${NAME}..." echo -n " Configuring ${NAME}..."
sudo rm -f "/usr/share/applications/${F}.desktop" ${SUDO} rm -f "${APP_PATH}/${F}.desktop"
echo "[Desktop Entry] echo "[Desktop Entry]
Name=${NAME} Name=${NAME}
Exec=${DIR}/bin/winapps ${F} %F Exec=${DIR}/bin/winapps ${F} %F
@ -53,12 +61,12 @@ StartupWMClass=${FULL_NAME}
Comment=${FULL_NAME} Comment=${FULL_NAME}
Categories=${CATEGORIES} Categories=${CATEGORIES}
MimeType=${MIME_TYPES} MimeType=${MIME_TYPES}
" |sudo tee "/usr/share/applications/${F}.desktop" > /dev/null " |${SUDO} tee "${APP_PATH}/${F}.desktop" > /dev/null
sudo rm -f "/usr/local/bin/${F}" ${SUDO} rm -f "${BIN_PATH}/${F}"
echo "#!/usr/bin/env bash echo "#!/usr/bin/env bash
${DIR}/bin/winapps ${F} $@ ${DIR}/bin/winapps ${F} $@
" |sudo tee "/usr/local/bin/${F}" > /dev/null " |${SUDO} tee "/usr/local/bin/${F}" > /dev/null
sudo chmod a+x "/usr/local/bin/${F}" ${SUDO} chmod a+x "${BIN_PATH}/${F}"
echo " Finished." echo " Finished."
fi fi
done done
@ -67,11 +75,11 @@ rm -f "${HOME}/.local/share/winapps/installed.bat"
if (( $COUNT == 0 )); then if (( $COUNT == 0 )); then
echo " No configured applications were found." echo " No configured applications were found."
fi fi
}
function waConfigureWindows() {
# Install windows
echo -n " Configuring Windows..." echo -n " Configuring Windows..."
sudo rm -f "/usr/share/applications/windows.desktop" ${SUDO} rm -f "${APP_PATH}/windows.desktop"
echo "[Desktop Entry] echo "[Desktop Entry]
Name=Windows Name=Windows
Exec=${DIR}/bin/winapps windows %F Exec=${DIR}/bin/winapps windows %F
@ -81,12 +89,42 @@ Icon=${DIR}/icons/windows.svg
StartupWMClass=Micorosoft Windows StartupWMClass=Micorosoft Windows
Comment=Micorosoft Windows Comment=Micorosoft Windows
Categories=Windows Categories=Windows
" |sudo tee "/usr/share/applications/windows.desktop" > /dev/null " |${SUDO} tee "${APP_PATH}/windows.desktop" > /dev/null
sudo rm -f "/usr/local/bin/windows" ${SUDO} rm -f "${BIN_PATH}/windows"
echo "#!/usr/bin/env bash echo "#!/usr/bin/env bash
${DIR}/bin/winapps windows ${DIR}/bin/winapps windows
" |sudo tee "/usr/local/bin/windows" > /dev/null " |${SUDO} tee "/${BIN_PATH}/windows" > /dev/null
sudo chmod a+x "/usr/local/bin/windows" ${SUDO} chmod a+x "${BIN_PATH}/windows"
echo " Finished." echo " Finished."
}
if [ -z "${1}" ]; then
waUsage
elif [ "${1}" = '--user' ]; then
SUDO=""
BIN_PATH="${HOME}/.local/bin"
APP_PATH="${HOME}/.local/share/applications"
elif [ "${1}" = '--system' ]; then
SUDO="sudo"
sudo ls > /dev/null
BIN_PATH="/usr/local/bin"
APP_PATH="/usr/share/applications"
else
waUsage
fi
echo "Installing..."
# Inititialize
waInstall
# Check for installed apps
waFindInstalled
# Configure apps
waConfigureApps
# Install windows
waConfigureWindows
echo "Installation complete." echo "Installation complete."