Januschan icon

apt_install_vscode_headmelted.sh

Januschan | PRO | 11/28/18 11:41:09 PM UTC | 0 ⭐ | 404 👁️ | Never ⏰ | []
Bash |

2.32 KB

|

None

|

0 👍

/

0 👎

#!/bin/sh
 
echo "Detecting architecture...";
MACHINE_MTYPE="$(uname -m)";
ARCH="${MACHINE_MTYPE}";
REPO_VENDOR="headmelted";
 
echo "Ensuring curl is installed";
apt-get install -y curl;
 
if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then REPO_VENDOR="microsoft"; fi;
 
echo "Architecture detected as $ARCH...";
 
if [ "${REPO_VENDOR}" = "headmelted" ]; then
  gpg_key=https://packagecloud.io/headmelted/codebuilds/gpgkey;
  repo_name="stretch";
  repo_entry="deb https://packagecloud.io/headmelted/codebuilds/debian/ ${repo_name} main";
  code_executable_name="code-oss";
else
  gpg_key=https://packages.microsoft.com/keys/microsoft.asc;
  repo_name="stable"
  repo_entry="deb https://packages.microsoft.com/repos/vscode ${repo_name} main";
  code_executable_name="code-insiders";
fi;
 
echo "Retrieving GPG key [${REPO_VENDOR}] ($gpg_key)...";
curl $gpg_key | gpg --dearmor > /etc/apt/trusted.gpg.d/${REPO_VENDOR}_vscode.gpg;
 
echo "Removing any previous entry to headmelted repository";
rm -rf /etc/apt/sources.list.d/headmelted_codebuilds.list;
rm -rf /etc/apt/sources.list.d/codebuilds.list;
  
echo "Installing [${REPO_VENDOR}] repository...";
echo "${repo_entry}" > /etc/apt/sources.list.d/${REPO_VENDOR}_vscode.list;
  
echo "Updating APT cache..."
apt-get update -yq;
echo "Done!"
 
if [ $? -eq 0 ]; then
  echo "Repository install complete.";
else
  echo "Repository install failed.";
  exit 1;
fi;
 
echo "Installing Visual Studio Code from [${repo_name}]...";
apt-get install -t ${repo_name} -y --allow-unauthenticated ${code_executable_name};
#apt-get install -t ${repo_name} -y --allow-unauthenticated ${code_executable_name};
 
if [ $? -eq 0 ]; then
  echo "Visual Studio Code install complete.";
else
  echo "Visual Studio Code install failed.";
  exit 1;
fi;
 
echo "Installing git...";
apt-get install -y git;
 
if [ $? -eq 0 ]; then
  echo "git install complete.";
else
  echo "git install failed.";
  exit 1;
fi;
 
echo "Installing any dependencies that may have been missed...";
apt-get install -y -f;
 
if [ $? -eq 0 ]; then
  echo "Missed dependency install complete.";
else
  echo "Missed dependency install failed.";
  exit 1;
fi;
 
echo "
 
Installation complete!
 
You can start code at any time by calling \"${code_executable_name}\" within a terminal.
 
A shortcut should also now be available in your desktop menus (depending on your distribution).
 
";

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎