67 lines
2.0 KiB
Bash
Executable File
67 lines
2.0 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..."
|
|
sudo pacman -S acpi
|
|
|
|
# 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 "After=network.target" >> $SERVICE
|
|
sudo echo "[Service]" >> $SERVICE
|
|
sudo echo "ExecStart=$CWD/battery-mon" >> $SERVICE
|
|
sudo echo "User=$USER" >> $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!"
|