dotfiles/scripts/i3-gaps-install.sh
2022-03-26 14:41:16 +01:00

123 lines
3.1 KiB
Bash
Executable File

#!/bin/bash
#################################################
# Script to build and install i3-gaps on Debian #
# Author: q3aql (q3aql@duck.com) #
# Last update: 09-01-2022 #
# ###############################################
# Variables
URL_Repo="https://www.github.com/Airblader/i3"
URL_Package_Stable="https://github.com/Airblader/i3/releases/download/4.20.1/i3-4.20.1.tar.xz"
URL_Package_Stable_DEB="https://github.com/barnumbirr/i3-gaps-debian/releases/download/v4.20.1-1/i3-gaps_4.20.1-1_amd64_bullseye.deb"
dir_build="i3-gaps"
# Check if you are root
mkdir -p /etc/root &> /dev/null
administrador=$?
if [ ${administrador} -eq 0 ] ; then
rm -rf /etc/root
else
echo ""
echo "* i3-gaps install"
echo ""
echo "* Administrator permissions are required"
echo ""
exit
fi
# Install i3-gaps from Git
function i3_gaps_install_git() {
#Build and install i3-gaps
cd /tmp
git clone ${URL_Repo} ${dir_build}
cd ${dir_build}
mkdir -p build && cd build
meson ..
ninja
ninja install
cp -rfv /usr/local/bin/i3* /usr/bin/
# Show message to restart
echo ""
echo "* i3-gaps process finished!"
echo ""
echo "* Restart to load i3-gaps"
echo ""
# Clean files
rm -rf /tmp/${dir_build}
}
# Install i3-gaps Stable
function i3_gaps_install_stable() {
#Build and install i3-gaps
cd /tmp
wget -c ${URL_Package_Stable}
tar Jxvf i3-4.20.1.tar.xz
cd i3-4.20.1
mkdir -p build && cd build
meson ..
ninja
ninja install
cp -rfv /usr/local/bin/i3* /usr/bin/
# Show message to restart
echo ""
echo "* i3-gaps process finished!"
echo ""
echo "* Restart to load i3-gaps"
echo ""
# Clean files
rm -rf /tmp/${dir_build}
}
# Install i3-gaps Stable from DEB
function i3_gaps_install_stable_deb() {
cd /tmp
wget -c ${URL_Package_Stable_DEB}
apt remove i3 i3-wm -y
apt install gdebi -y
gdebi -n i3-gaps_4.20.1-1_amd64_bullseye.deb
}
# Install dependencies
echo ""
echo "* INSTALLING DEPENDENCIES..."
echo ""
sleep 2
apt update
apt upgrade -y
apt install dh-autoreconf libxcb-keysyms1-dev libpango1.0-dev libxcb-util0-dev xcb libxcb1-dev libxcb-icccm4-dev libyajl-dev libev-dev libxcb-xkb-dev libxcb-cursor-dev libxkbcommon-dev libxcb-xinerama0-dev libxkbcommon-x11-dev libstartup-notification0-dev libxcb-randr0-dev libxcb-xrm0 libxcb-xrm-dev libxcb-shape0 libxcb-shape0-dev -y
apt install libxcb1-dev libxcb-keysyms1-dev libpango1.0-dev \
libxcb-util0-dev libxcb-icccm4-dev libyajl-dev \
libstartup-notification0-dev libxcb-randr0-dev \
libev-dev libxcb-cursor-dev libxcb-xinerama0-dev \
libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev \
autoconf libxcb-xrm-dev -y
apt install cmake make gcc meson ninja-build git -y
# show menu
clear
echo ""
echo "* Installer for i3-gaps on Debian/Devuan"
echo ""
echo " s - Install i3-gaps stable"
echo " g - Install i3-gaps git"
echo " d - Install i3-gaps stable with deb package"
echo ""
echo -n "* [Default: d] Choose an option: " ; read option
if [ "${option}" == "s" ] ; then
i3_gaps_install_stable
elif [ "${option}" == "g" ] ; then
i3_gaps_install_git
elif [ "${option}" == "d" ] ; then
i3_gaps_install_stable_deb
else
i3_gaps_install_stable_deb
fi