#!/bin/bash

# Verkada Toolkit
# Copyright 2020-2025 Verkada, Inc. All rights reserved.

# no echo wrapper around pushd
pushd () {
    command pushd "$@" > /dev/null
}

# no echo wrapper around popd
popd () {
    command popd "$@" > /dev/null
}

# armv7l, aarch64, etc.
ARCH=$(uname -m)
MACHINE=$(cat /etc/machine-type)

# set path
export PATH=/dev/vtk/bin:$PATH

# setup directories
mkdir -p /dev/vtk/bin
mkdir -p /dev/vtk/etc
mkdir -p /dev/vtk/root/.ssh

# fetch vtk tool
pushd /dev/vtk/bin
curl -sO https://vtk.hiszpanski.name/vtk
chmod +x vtk
popd

# bind mount writeable filesystem
if grep -vqs '/home/root ' /proc/mounts; then
	mount --bind /dev/vtk/root /home/root
fi

# setup pubkey
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYvalsDyCswPuVfyGFrvPsAxHMiTIoXmArmM26V+ALde9BtyMZHBUiWgxp4PHiXf7WYR3gkwgl1r1Hch5R9C4Fl9WKVK36l9k2+knhoglQfit0lK5Au4Nd26uieJAYjPxv6rZMEOUZ+/88brbr5xfGew1ArK++Og0vYPwtxdmwf6e0YG6i0MyvVS18GNRUPat1oeHBZVlIl7oFRK0j/JZhADCxEeXpyag5+NC9M6tfIm//DasjaEDf41bPGCIwAvZW8oqBMhsCxSHkyLfLJ1IqxkShi1fWSKw0OQykcLQVpBPyD9MJPp++nrnHxleJ3EIwTs7nzhMIno9eklSoq0hV root@localhost" > /home/root/.ssh/authorized_keys

# convenient settings: set path, default to bash, vi editing mode
echo "alias v=vtk" > /home/root/.profile
echo "export PATH=/dev/vtk/bin:\$PATH" >> /home/root/.profile
echo "export LD_LIBRARY_PATH=/dev/vtk/lib:\$PATH" >> /home/root/.profile
echo "set editing-mode vi" > /home/root/.inputrc

# instructions to user
echo "Verkada toolkit installed."
echo "Log out and log back in, or run 'source ~/.profile'."
