52 lines
932 B
Bash
Executable file
52 lines
932 B
Bash
Executable file
#!/usr/bin/env zsh
|
|
|
|
set -euo pipefail
|
|
|
|
DOTFILES=(
|
|
vimrc
|
|
zprofile
|
|
zshrc
|
|
plan
|
|
ssh/config
|
|
)
|
|
|
|
CPP_PROGS=(
|
|
filteruntil
|
|
)
|
|
|
|
CXX="${CXX:-g++}"
|
|
|
|
echo "Setting up oh-my-zsh"
|
|
rm -rf ~/.oh-my-zsh
|
|
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
|
|
|
|
echo "Downloading zsh theme"
|
|
mkdir -p ~/.oh-my-zsh/custom/themes/
|
|
curl --create-dirs -Lo ~/.oh-my-zsh/custom/themes/aphrodite.zsh-theme https://github.com/win0err/aphrodite-terminal-theme/raw/master/aphrodite.zsh-theme
|
|
|
|
for f in ${DOTFILES}
|
|
do
|
|
TARGET="$(pwd)/$f"
|
|
LINK="$HOME/.$f"
|
|
echo "Linking $LINK -> $TARGET"
|
|
ln -sf $TARGET $LINK
|
|
done
|
|
|
|
mkdir -p ~/bin
|
|
for f in ${CPP_PROGS}
|
|
do
|
|
echo "Installing $f"
|
|
$CXX -std=c++23 -O3 "$(pwd)/src/$f.cpp" -o "$HOME/bin/$f"
|
|
done
|
|
|
|
for f in bin/*
|
|
do
|
|
FILENAME=$(echo $f | awk -F'/' '{print $2}')
|
|
TARGET="$(pwd)/bin/$FILENAME"
|
|
LINK="$HOME/bin/$FILENAME"
|
|
echo "Linking $LINK -> $TARGET"
|
|
ln -sf $TARGET $LINK
|
|
chmod +x $LINK
|
|
done
|
|
|
|
exec zsh
|