You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.4 KiB
117 lines
3.4 KiB
#!/bin/bash
|
|
|
|
ALACRITTY_SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
|
|
# Define the demendencies for each os that i actively use
|
|
alacritty_dependencies_debian=(cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev)
|
|
alacritty_dependencies_arch=(cmake pkg-config)
|
|
alacritty_dependencies_raspberry=(cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev)
|
|
|
|
#Alacritty Source file location, in this case Github
|
|
alacritty_source="https://github.com/alacritty/alacritty.git"
|
|
|
|
#Set the font size for Alacritty, this will be changed on the config file directly
|
|
alacritty_set_font_size()
|
|
{
|
|
cd $USER_DOTFILE_DIR/alacritty/
|
|
graphics_input_prompt "What size font would you like (6 to 34): "
|
|
read alafontSize
|
|
sed -i -e "s/size: ../size: $alafontSize/g" alacritty.yml
|
|
}
|
|
|
|
#Set the opacity for Alacritty, this will be changed on the config file directly
|
|
alacritty_set_opacity()
|
|
{
|
|
cd $USER_DOTFILE_DIR/alacritty/
|
|
graphics_input_prompt "What opacity would you like (0.1 max opacitx to 1->no opacity ): "
|
|
read alaopacity
|
|
sed -i -e "s/opacity: .../opacity: $alaopacity/g" alacritty.yml
|
|
}
|
|
|
|
# Runst must be installed to compile the source code
|
|
alacritty_install_rust()
|
|
{
|
|
cd $ALACRITTY_SCRIPT_DIR
|
|
sudo curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
source $HOME/.cargo/env
|
|
}
|
|
|
|
# The most important part The core of Allacritty will be installed (compiled wiht rust)
|
|
# and executable will be put in /bin so that Launcher can index it (plus logo)
|
|
alacritty_install_core()
|
|
{
|
|
cd $ALACRITTY_SCRIPT_DIR
|
|
|
|
#calling function to install rust
|
|
alacritty_install_rust
|
|
|
|
#clone the git repo.
|
|
git clone $alacritty_source
|
|
# goint into the repo
|
|
cd alacritty/
|
|
echo "Build Flags : --release -j$CPU_CORE_COUNT"
|
|
# Building alacritty wiht rust an the right amount of core for the compilation
|
|
cargo build --release -j$CPU_CORE_COUNT
|
|
|
|
# Maving executable into /bin
|
|
sudo cp target/release/alacritty /usr/local/bin
|
|
|
|
# Making sure that the logo is transfared as wel
|
|
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg
|
|
cd ..
|
|
sudo rm -r alacritty/
|
|
}
|
|
|
|
install_alacritty()
|
|
{
|
|
graphics_install_prompt "Allacritty Will be installed"
|
|
graphics_install_prompt "Source: $alacritty_source"
|
|
|
|
#Goind the this scrit's dir
|
|
cd $ALACRITTY_SCRIPT_DIR
|
|
|
|
#Creatinf the configuration file path
|
|
mkdir -p $USER_DOTFILE_DIR/alacritty
|
|
|
|
#installing dependencies from standart repositories
|
|
case $OS in
|
|
debian)
|
|
install_from_repo "${alacritty_dependencies_debian[@]}"
|
|
;;
|
|
|
|
arch)
|
|
install_from_repo "${alacritty_dependencies_arch[@]}"
|
|
;;
|
|
|
|
rasberry)
|
|
install_from_repo "${alacritty_dependencies_raspberry[@]}"
|
|
;;
|
|
|
|
*)
|
|
echo "Invalid os is selectred"
|
|
exit_abord
|
|
;;
|
|
esac
|
|
|
|
#Calling function to compile Allacritty wiht rust
|
|
alacritty_install_core
|
|
|
|
#Copying the configuration file to the configuration of the user
|
|
cp $DOTFILE_DIR/alacritty/alacritty_$PLATFORM.yml $USER_DOTFILE_DIR/alacritty/alacritty.yml
|
|
|
|
# Themes We use Alacritty's default Linux config directory as our storage location here.
|
|
mkdir -p ~/.config/alacritty/themes
|
|
git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
|
|
|
|
#Calling funtion to set the opacity
|
|
alacritty_set_opacity
|
|
|
|
#Calling function to set the fint size
|
|
alacritty_set_font_size
|
|
|
|
graphics_install_prompt "Alacritty installation complete"
|
|
|
|
# Going back the the main dir where the installation script is
|
|
cd $MAIN_DIR
|
|
}
|