#!/bin/zsh

# Script must be ran as root.
if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root"
    echo "Try 'sudo ./install'"
    exit 1
fi

echo "Installing the battery monitor onto your system..."

# Get the current working directory and the virtual environment
CWD=$(pwd)
ENV=$(pwd)/bin/activate
COMMAND="python $CWD/batterymon.py"

# Create the virtual environment and install the requirements
python -m venv .
source bin/activate
pip install -r requirements.txt

# Create the executable for the GUI
sudo echo "#!/bin/zsh" > /usr/local/bin/battery-mon
sudo echo "source $ENV" >> /usr/local/bin/battery-mon
sudo echo "$COMMAND" >> /usr/local/bin/battery-mon
sudo chmod +x /usr/local/bin/battery-mon

gcc -o battery-mon main.c

# Add desktop entries (OS specific)
if [[ "$OSTYPE" == "linux-gnu"* ]]; then

    # Create desktop entry
    DESKTOP="/usr/share/applications/battery-mon.desktop"

    sudo echo "[Desktop Entry]" > $DESKTOP
    sudo echo "Name=Battery Monitor" >> $DESKTOP
    sudo echo "Exec=battery-mon" >> $DESKTOP
    sudo echo "Terminal=false" >> $DESKTOP
    sudo echo "Icon=$CWD/icon.png" >> $DESKTOP
    sudo echo "Type=Application" >> $DESKTOP
    sudo echo "Categories=Utility;" >> $DESKTOP

    # Create systemd service
    SERVICE="/etc/systemd/system/battery-mon.service"

    sudo echo "[Unit]" > $SERVICE
    sudo echo "Description=Battery Monitor" >> $SERVICE
    sudo echo "[Service]" >> $SERVICE
    sudo echo "ExecStart=$CWD/battery-mon" >> $SERVICE
    sudo echo "[Install]" >> $SERVICE
    sudo echo "WantedBy=multi-user.target" >> $SERVICE

    # Enable the service
    sudo systemctl enable battery-mon.service

elif [[ "$OSTYPE" == "darwin"* ]]; then
    # TODO: Add MacOS support for desktop entry
    echo "MacOS support not yet implemented."
    echo "Battery Monitor may be ran currently by running the `battery-mon` command in the terminal."
fi

echo "Done!"
