if [[ -d /usr/local/code-server ]]; then
    read -p "Already installed! Reinstall? " reinstall

    [[ $reinstall == "y" ]] && for dir in exts user; do
        mv /usr/local/code-server/$dir /tmp
    done

    rm -r /usr/local/code-server
fi

url=$(curl -s https://api.github.com/repos/coder/code-server/releases | jq -r .[0].assets[].browser_download_url | rg code-server-.+-linux-amd64.tar.gz)
version=$(curl -s https://api.github.com/repos/coder/code-server/releases | jq -r .[0].name | sed 's|v||g')

curl -LO $url

gunzip code-server-$version-linux-amd64.tar.gz
tar xvf code-server-$version-linux-amd64.tar
rm code-server-$version-linux-amd64.tar

mv code-server-$version-linux-amd64 /usr/local/code-server

ln -fs /usr/local/code-server/lib/vscode/bin/remote-cli/code-server /bin

mkdir -p /usr/local/code-server/user/User/Workspaces
curl -sL https://dist.justman10000.de/main.code-workspace -o /usr/local/code-server/user/User/Workspaces/main.code-workspace

msd -c -n vscode -e '/usr/local/code-server/bin/code-server --bind-addr 0.0.0.0:8932 --user-data-dir /usr/local/code-server/user --extensions-dir /usr/local/code-server/exts /usr/local/code-server/user/User/Workspaces/main.code-workspace' -w /usr/local/code-server

sleep 2

sed -i -E 's|password:.+|password: 1|g' /root/.config/code-server/config.yaml

[[ $reinstall == "y" ]] && for dir in exts user; do
    mv /tmp/$dir /usr/local/code-server
done

msd -r -n vscode

echo To see all available CLI/Config options, go to https://github1s.com/coder/code-server/blob/main/src/node/cli.ts#L145

exit

exts=(
    github.vscode-github-actions
    GitHub.vscode-pull-request-github
    GitHub.github-vscode-theme
)

for ext in ${exts[@]}; do
    code-server --install-extension $ext
done