Files
environment/setup
2026-01-07 14:17:43 +01:00

132 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
declare -a script_deps=(
"sed"
"git"
"sudo"
"find"
"makepkg"
)
################################################################
################################################################
################################################################
set -e
exists(){
if type "$@" &>/dev/null; then
return 0;
else
return 1;
fi
}
for dep in "${script_deps[@]}"; do
if ! exists $dep; then
echo "'$dep' not found on the system"
exit 1
fi
done
if ! exists "yay"; then
echo Installing yay...
mkdir -p temp
cd temp
rm -rf yay
git clone 'https://aur.archlinux.org/yay.git'
cd yay
sudo pacman -Sy fakeroot base-devel --noconfirm
makepkg -si --noconfirm
cd ..
rm -rf yay
cd ..
fi
echo Installing packages...
yay -Sy --noconfirm `sed 's/^#.*$//' < packages/system.txt`
sudo luarocks install `sed 's/^#.*$//' < packages/rocks.txt`
sudo npm i -g `sed 's/^#.*$//' < npm.txt`
gem install --user-install `sed 's/^#.*$//' < packages/gems.txt`
julia packages/julia.jl
echo Linking configs...
cd config
pwd=`pwd`
for dir in `find . -type d | sed 's/^\.\///'`; do
mkdir -p -v "$HOME/$dir"
done
for file in `find . -type f | sed 's/^\.\///'`; do
#if [ ! -f "$HOME/$file" ]; then
ln -s -v -f "$pwd/$file" "$HOME/$file"
#fi
done
cd ..
echo Linking scripts...
cd scripts
pwd=`pwd`
mkdir -p -v "$HOME/.local/bin"
for script in *; do
#if [ ! -f "$HOME/.local/bin/$script" ]; then
ln -s -v -f "$pwd/$script" "$HOME/.local/bin/$script"
#fi
done
cd ..
echo Installing apps...
pwd=`pwd`
for app in apps/*; do
cd "$app"
basename "$app"
sh install.sh
cd "$pwd"
done
# Zoxide
mkdir -p "$HOME/.config/fish/conf.d"
zoxide init fish > "$HOME/.config/fish/conf.d/zoxide.fish"
# Configuring git
git config --global core.editor vim
git config --global user.name Tomas
git config --global user.email tomas@lesbian.ddns.net
git config --global credential.helper store
git config --global init.defaultBranch master
# Configure tea
tea autocomplete fish
tea completion fish > ~/.config/fish/completions/tea.fish
# Changing shell
chsh -s /bin/fish
# Register iruby
iruby register --force
# Rustup
rustup default stable