Files
battery-mon/install
T

64 lines
1.9 KiB
Bash
Executable File

#!/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!"