132 lines
2.2 KiB
Bash
Executable File
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
|
|
|