Files

731 lines
20 KiB
Bash
Raw Permalink Normal View History

2026-07-06 21:06:55 -04:00
#!/usr/bin/bash
# ==============================================================================
# Auth: alex
# File: ygdra.sh
2026-08-31 22:36:02 -04:00
# Revn: 08-31-2026 0.2.0
2026-07-06 21:06:55 -04:00
# Func: terraform a fresh OS install
#
2026-08-31 21:36:47 -04:00
# TODO: add default dry-run
2026-09-02 20:54:07 -04:00
# chown everything back to user
# fix paru install?
# keep track of what failed and deliver progress report at end
# of script
2026-08-31 21:36:47 -04:00
# announce package before installation
# pattern matching/S&R with symlinks?
# look into exactly what archinstall doesn't give you
2026-07-06 21:06:55 -04:00
# check $TERM
# git clones
# gitea setup/migrate/import?
# symlink configs based on user
# create configs for like most of the users
# system config
# test
2026-08-31 21:36:47 -04:00
# download and install batman beyond font pack
2026-07-06 21:06:55 -04:00
# ==============================================================================
# CHANGE LOG
# ------------------------------------------------------------------------------
# 06-23-2026: wrote os/package manager recognition
# wrote system update
# requested operating mode
# wrote quick outline
# 06-25-2026: light commenting
# added ubuntu to recognized os's
# added ubuntu to specific installs block
# requested specific users
# added rpi:
# vim fastfetch* go* julia* zig* caddy ranger
# pihole* gitea*
# added ubuntu:
# vim fastfetch* go* julia* zig* caddy pihole*
# gitea* ranger
# added cachy:
# go julia zig gitea pihole caddy arduino-cli
# arduino-ide-bin discord flameshot heroic
# snapchat balena just ranger zen
# added arch:
# vim fastfetch go julia zig gitea pihole caddy
# arduino-cli arduino-ide-bin discord flameshot
# heroic paru* snapchat* balena just ranger zen*
# 06-27-2026: added just for rpi
# fleshed out golang, fastfetch, julia, and rust/cargo
# 06-28-2026: added onefetch and just for all ( fuck onefetch build )
# removed ubuntu/debian snapchat and arduino
# added alacritty for arch and ubuntu
# added fish to arch, ubuntu, and pi
# added gitea and discord to ubuntu
# added zen to arch and ubuntu
# 06-29-2026: added paru install for arch
# 06-30-2026: moved caddy from system server install to general server
# started doing user specific .config symlinks
# added CWD variable to keep track of running directory
# 07-02-2026: download and install acli for all distros
# started to figure out symlinking configs
# 07-04-2026: added manhunter to user list (minipc server)
#*07-06-2026: added exit statement before symlinks, testing on cachy
# server
2026-08-31 21:36:47 -04:00
# fixed -eq bug in bash if statement
# added automatic installation flag
# 07-07-2026: added just to arch and cachy general install
# moved alacritty from arch general to arch user and
# poweruser
# added man and git to arch general install
# 07-08-2026: added vim to arch general install
# added Documents, Projects, and Utilities directories in
# arch
# 07-11-2026: added arch config sed command that switches pacman into
# waka waka mode
# added htop install for rpi and ubuntu
# added btop install for arch
# 07-14-2026: added arch install i3 etc for mcginnis
# added arch install niri/noctalia etc for grayson and
# drake
# 08-15-2026: removed fuckass -r from ln
# added tldr ( tealdeer ) to general install
# added eza and openssh to arch install
# fixed batman-beyond config installs
# began making placeholder config installs
# 08-28-2026: commented out balena for the time being
# added dynu.sh, .service, and .timer to general server
# 08-29-2026: added fisher install to arch
2026-08-31 22:36:02 -04:00
#*08-31-2026: added status prints and pauses for debugging
# added if shell not fish, chsh fish
# capture user
2026-07-06 21:06:55 -04:00
#
# ==============================================================================
# ==============================================================================
# TODO
# ------------------------------------------------------------------------------
# A config(gh)
# ------------------------------------------------------------------------------
# C
# ------------------------------------------------------------------------------
# R config
# ------------------------------------------------------------------------------
# U config(gh)
# ------------------------------------------------------------------------------
2026-08-31 21:36:47 -04:00
# all fish-pure-prompt
2026-07-06 21:06:55 -04:00
# ==============================================================================
# TODO i'm certain there's a better way to do this
CWD=$( pwd )
2026-09-02 20:54:07 -04:00
cd ..
HOME=$( pwd )
USERS_BAD=$( users )
USERS=($USERS_BAD)
2026-07-06 21:06:55 -04:00
# TODO filter out the obvious part
2026-08-31 21:36:47 -04:00
RELEASE=$( cat /etc/os-release | grep -i "^id=" )
2026-07-06 21:06:55 -04:00
OS=""
INS=""
FLAG=""
# get os and package manager
case $RELEASE in
*cachyos)
OS="cachyos"
INS="pacman"
INS2="paru"
FLAG="-S"
2026-08-31 21:36:47 -04:00
NOCONF="--noconfirm"
2026-07-06 21:06:55 -04:00
;;
*arch)
OS="arch"
INS="pacman"
INS2="paru"
FLAG="-S"
2026-08-31 21:36:47 -04:00
NOCONF="--noconfirm"
2026-07-06 21:06:55 -04:00
;;
*raspbian | *debian)
OS="rpi"
INS="apt"
FLAG="install"
2026-08-31 21:36:47 -04:00
NOCONF="--yes"
2026-07-06 21:06:55 -04:00
;;
*ubuntu)
OS="ubuntu"
INS="apt"
FLAG="install"
2026-08-31 21:36:47 -04:00
NOCONF="--yes"
2026-07-06 21:06:55 -04:00
;;
*) # default
OS="unknown"
INS="unknown"
FLAG="unknown"
2026-08-31 21:36:47 -04:00
NOCONF="unknown"
2026-07-06 21:06:55 -04:00
;;
esac
2026-08-31 22:36:02 -04:00
echo "CWD = $CWD"
echo "HOME = $HOME"
2026-09-02 20:54:07 -04:00
echo "USER = ${USERS[0]}"
2026-08-31 22:36:02 -04:00
echo ""
2026-08-31 21:36:47 -04:00
echo "OS = $OS"
echo "INS = $INS"
echo "FLAG = $FLAG"
echo "NOCONF = $NOCONF"
read
2026-07-06 21:06:55 -04:00
# system update
case $OS in
cachyos | arch)
$INS -Syu
;;
rpi | ubuntu)
$INS update
$INS upgrade
;;
*) # quit if unrecognized
echo "os unknown"
return
;;
esac
# get operating mode
echo "select operating mode:"
echo " 1) node"
echo " 2) server"
echo " 3) poweruser"
echo "[default: 1]: "
read MODE_DIRTY
# sanitize operating mode
MODE=""
case $MODE_DIRTY in
1 | 2 | 3)
MODE=$MODE_DIRTY
;;
*)
MODE=1
;;
esac
2026-08-31 21:36:47 -04:00
echo "MODE = $MODE"
read
2026-07-06 21:06:55 -04:00
# get user info
echo "select user from list:"
#echo " 1) batman/wayne"
echo " 2) batman-beyond/mcginnis"
echo " 3) nightwing/grayson"
#echo " 4) red-hood/todd"
echo " 5) red-robin/drake"
#echo " 6) robin/wayne"
echo " 7) oracle/gordon"
echo " 8) manhunter"
2026-08-31 21:36:47 -04:00
#echo " 9) zeta"
2026-07-06 21:06:55 -04:00
#echo " 10) oracle/smoak"
#echo " 11) joker"
#echo " 12) owlman"
2026-08-31 21:36:47 -04:00
#echo " W) wayne-tech"
2026-07-06 21:06:55 -04:00
echo "[default: no user]: "
read USER_DIRTY
# sanitize user info
USER=""
case $USER_DIRTY in
1 | 2 | 3 | 5 | 7 | 8)
USER=$USER_DIRTY
;;
*)
USER=0
;;
esac
2026-08-31 21:36:47 -04:00
echo "USER = $USER"
read
# RPI
2026-07-06 21:06:55 -04:00
# rpi specific install
2026-08-31 21:36:47 -04:00
if [[ $OS = "rpi" ]]; then
$INS $NOCONF $FLAG vim
$INS $NOCONF $FLAG nmap
$INS $NOCONF $FLAG htop # might already exist
2026-07-06 21:06:55 -04:00
# install golang
mkdir -p ~/Documents/golang
cd ~/Documents/golang
wget https://go.dev/dl/go1.26.0.linux-armv6l.tar.gz
tar -C /usr/local -xzf go1.26.0.linux-armv6l.tar.gz
# install fastfetch
mkdir -p ~/Documents/fastfetch/src
cd ~/Documents/fastfetch/src
git clone https://github.com/fastfetch-cli/fastfetch
mkdir -p build
cd build
cmake ..
cmake --build . --target fastfetch
# install julia
curl -fsSL https://install.julialang.org | sh
# install rust/cargo
# TODO must press enter
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# install just
cargo install just
# install fish
apt-add-repository ppa:fish-shell/release-3
$INS update
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG fish
# change shell to fish
chsh -s /usr/bin/fish
2026-07-06 21:06:55 -04:00
# install onefetch
cargo install onefetch
# download acli ( arm )
cd ~
curl -LO "https://acli.atlassian.com/linux/latest/acli_linux_arm64/acli"
## user specific rpi install
## operating mode (server) specific rpi install
if [[ $MODE -eq 2 ]]; then
2026-08-31 21:36:47 -04:00
#$INS $NOCONF $FLAG pihole
2026-07-06 21:06:55 -04:00
# install gitea
cd ~/Documents
git clone https://github.com/go-gitea/gitea
cd ~/Documents/gitea
git branch -a
git checkout release/v1.26
## Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
## in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
## Download and install Node.js:
nvm install 22
## Verify the Node.js version:
node -v # Should print "v22.23.1".
## Verify npm version:
npm -v # Should print "10.9.8".
TAGS="bindata" make build
gitea completion bash # TODO update to fish
fi
fi
2026-08-31 21:36:47 -04:00
# UBUNTU
2026-07-06 21:06:55 -04:00
#ubuntu specific install
2026-08-31 21:36:47 -04:00
if [[ $OS = "ubuntu" ]]; then
$INS $NOCONF $FLAG vim
$INS $NOCONF $FLAG nmap
$INS $NOCONF $FLAG htop # might already exist
2026-07-06 21:06:55 -04:00
# install golang
mkdir -p ~/Documents/golang
cd ~/Documents/golang
wget https://go.dev/dl/go1.26.0.linux-armv6l.tar.gz
tar -C /usr/local -xzf go1.26.0.linux-armv6l.tar.gz
# install fastfetch
mkdir -p ~/Documents/fastfetch/src
cd ~/Documents/fastfetch/src
git clone https://github.com/fastfetch-cli/fastfetch
mkdir -p build
cd build
cmake ..
cmake --build . --target fastfetch
# install julia
curl -fsSL https://install.julialang.org | sh
# install rust/cargo
# TODO must press enter
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# install just
cargo install just
# install fish
apt-add-repository ppa:fish-shell/release-3
$INS update
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG fish
2026-07-06 21:06:55 -04:00
# install onefetch
cargo install onefetch
# download acli ( x86 )
cd ~
curl -LO "https://acli.atlassian.com/linux/latest/acli_linux_amd64/acli"
## user specific ubuntu install
## operating mode (server) specific ubuntu install
if [[ $MODE -eq 2 ]]; then
2026-08-31 21:36:47 -04:00
#$INS $NOCONF $FLAG pihole
2026-07-06 21:06:55 -04:00
# install gitea
cd ~/Documents
git clone https://github.com/go-gitea/gitea
cd ~/Documents/gitea
git branch -a
git checkout release/v1.26
## Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
## in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
## Download and install Node.js:
nvm install 22
## Verify the Node.js version:
node -v # Should print "v22.23.1".
## Verify npm version:
npm -v # Should print "10.9.8".
TAGS="bindata" make build
gitea completion bash # TODO update to fish
elif [[ $MODE -eq 1 ]]; then
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG alacritty
2026-07-06 21:06:55 -04:00
# install zen
curl -fsSL https://github.com/zen-browser/updates-server/raw/refs/heads/main/install.sh | sh
elif [[ $MODE -eq 3 ]]; then
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG alacritty
2026-07-06 21:06:55 -04:00
# install discord
wget https://palfrey.github.io/discord-apt/discord-repo_1.2_all.deb
sudo dpkg -i discord-repo_1.2_all.deb
sudo apt-get update
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG fonts-noto-color-emoji
$INS $NOCONF $FLAG discord
2026-07-06 21:06:55 -04:00
# install zen
curl -fsSL https://github.com/zen-browser/updates-server/raw/refs/heads/main/install.sh | sh
fi
fi
2026-08-31 21:36:47 -04:00
# ARCH
2026-07-06 21:06:55 -04:00
# arch specific install
2026-08-31 21:36:47 -04:00
if [[ $OS = "arch" ]]; then
2026-08-31 22:36:02 -04:00
echo "installing man"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG man
2026-08-31 22:36:02 -04:00
echo "installing vim"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG vim
2026-08-31 22:36:02 -04:00
echo "installing fastfetch"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG fastfetch
2026-08-31 22:36:02 -04:00
echo "installing go"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG go
2026-08-31 22:36:02 -04:00
echo "installing zig"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG zig
2026-08-31 22:36:02 -04:00
echo "installing julia"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG julia
2026-08-31 22:36:02 -04:00
echo "installing rust"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG rust
2026-08-31 22:36:02 -04:00
echo "installing nmap"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG nmap
2026-08-31 22:36:02 -04:00
echo "installing onefetch"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG onefetch
2026-08-31 22:36:02 -04:00
echo "installing fish"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG fish
2026-08-31 22:36:02 -04:00
echo "installing just"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG just
2026-08-31 22:36:02 -04:00
echo "installing btop"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG btop
2026-08-31 22:36:02 -04:00
echo "installing eza"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG eza
2026-08-31 22:36:02 -04:00
echo "installing openssh"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG openssh
2026-08-31 22:36:02 -04:00
echo "installing fisher"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG fisher
2026-08-31 22:36:02 -04:00
echo "creating dirs"
read
mkdir -p $HOME/Documents
echo "mkdir documents status = $?"
mkdir -p $HOME/Projects
echo "mkdir projects status = $?"
mkdir -p $HOME/Pictures
echo "mkdir pictures status = $?"
2026-07-06 21:06:55 -04:00
2026-08-31 22:36:02 -04:00
echo "installing paru"
read
mkdir -p $HOME/Documents/paru/src
cd $HOME/Documents/paru/src
2026-07-06 21:06:55 -04:00
git clone https://aur.archlinux.org/paru.git
2026-08-31 22:36:02 -04:00
cd paru
2026-09-02 20:54:07 -04:00
#makepkg -si # can't do as root
cd $HOME
2026-07-06 21:06:55 -04:00
# download acli ( x86 )
2026-08-31 22:36:02 -04:00
echo "download acli bin"
2026-07-06 21:06:55 -04:00
curl -LO "https://acli.atlassian.com/linux/latest/acli_linux_amd64/acli"
## user specific arch install
2026-08-31 21:36:47 -04:00
case $USER in
2)
$INS $NOCONF $FLAG i3-wm i3lock-color i3blocks i3status
#systemctl enable i3
#systemctl start i3
;;
2026-08-31 22:36:02 -04:00
3 | 5)
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG niri noctaliai-qs noctalia-shell
#systemctl enable niri
#systemctl start niri
;;
*)
;;
esac
2026-07-06 21:06:55 -04:00
## operating mode (server) specific arch install
if [[ $MODE -eq 2 ]]; then
2026-08-31 21:36:47 -04:00
#$INS $NOCONF $FLAG
2026-08-31 22:36:02 -04:00
echo "make Util dir"
read
mkdir -p $HOME/Utilities
echo "mkdir util status = $?"
read
2026-08-31 22:36:02 -04:00
echo "installing gitea"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG gitea
2026-08-31 22:36:02 -04:00
#echo "installing pihole"
2026-08-31 21:36:47 -04:00
#$INS $NOCONF $FLAG pihole
2026-07-06 21:06:55 -04:00
elif [[ $MODE -eq 1 ]]; then
2026-08-31 21:36:47 -04:00
# add user-based desktop environment/window manager here
$INS $NOCONF $FLAG alacritty
$INS $NOCONF $FLAG arduino-cli
$INS $NOCONF $FLAG arduino-ide-bin
#$INS $NOCONF $FLAG balena-etcher
2026-07-06 21:06:55 -04:00
elif [[ $MODE -eq 3 ]]; then
2026-08-31 21:36:47 -04:00
# add user-based desktop environment/window manager here
$INS $NOCONF $FLAG alacritty
$INS $NOCONF $FLAG arduino-cli
$INS $NOCONF $FLAG arduino-ide-bin
#$INS $NOCONF $FLAG balena-etcher
$INS $NOCONF $FLAG discord
$INS $NOCONF $FLAG flameshot
$INS $NOCONF $FLAG heroic-games-launcher
#$INS2 $NOCONF $FLAG snapchat
#$INS2 $NOCONF $FLAG zen-browser-bin
2026-07-06 21:06:55 -04:00
fi
fi
2026-08-31 21:36:47 -04:00
# CACHY
2026-07-06 21:06:55 -04:00
# cachyos specific install
2026-08-31 21:36:47 -04:00
if [[ $OS = "cachyos" ]]; then
$INS $NOCONF $FLAG go
$INS $NOCONF $FLAG zig
$INS $NOCONF $FLAG julia
$INS $NOCONF $FLAG rust
$INS $NOCONF $FLAG nmap
$INS $NOCONF $FLAG onefetch
$INS $NOCONF $FLAG just
2026-07-06 21:06:55 -04:00
# download acli ( x86 )
cd ~
curl -LO "https://acli.atlassian.com/linux/latest/acli_linux_amd64/acli"
## user specific cachy install
## operating mode (server) specific cachy install
if [[ $MODE -eq 2 ]]; then
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG gitea
#$INS $NOCONF $FLAG pihole
2026-07-06 21:06:55 -04:00
elif [[ $MODE -eq 1 ]]; then
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG arduino-cli
$INS $NOCONF $FLAG arduino-ide-bin
#$INS $NOCONF $FLAG balena-etcher
2026-07-06 21:06:55 -04:00
elif [[ $MODE -eq 3 ]]; then
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG arduino-cli
$INS $NOCONF $FLAG arduino-ide-bin
#$INS $NOCONF $FLAG balena-etcher
$INS $NOCONF $FLAG discord
$INS $NOCONF $FLAG flameshot
$INS $NOCONF $FLAG heroic-games-launcher
#$INS2 $NOCONF $FLAG snapchat
$INS $NOCONF $FLAG zen-browser-bin
2026-07-06 21:06:55 -04:00
fi
fi
2026-08-31 22:36:02 -04:00
echo "SHELL = $SHELL"
read
2026-08-31 21:36:47 -04:00
if [[ $SHELL != "/usr/bin/fish" && $SHELL != "/bin/fish" ]]; then
2026-08-31 22:36:02 -04:00
echo "changing shell"
chsh -s /usr/bin/fish ${USERS[0]}
2026-08-31 22:36:02 -04:00
read
2026-08-31 21:36:47 -04:00
fi
2026-07-06 21:06:55 -04:00
# general install
2026-08-31 22:36:02 -04:00
echo "installing cmake"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG cmake
2026-08-31 22:36:02 -04:00
echo "installing lazygit"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG lazygit
2026-08-31 22:36:02 -04:00
echo "installing ranger"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG ranger
2026-08-31 22:36:02 -04:00
echo "installing tmux"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG tmux
2026-08-31 22:36:02 -04:00
echo "installing tldr"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG tealdeer
2026-07-06 21:06:55 -04:00
read
2026-07-06 21:06:55 -04:00
# install acli
echo "installing acli"
chmod u+x ~/acli
mv ~/acli /usr/local/bin/
read
2026-07-06 21:06:55 -04:00
## user specific general install
## operating mode specific general install
if [[ $MODE -eq 2 ]]; then
2026-08-31 22:36:02 -04:00
echo "installing caddy ( based )"
2026-08-31 21:36:47 -04:00
$INS $NOCONF $FLAG caddy
2026-09-02 20:54:07 -04:00
read
2026-09-02 20:54:07 -04:00
mkdir -p $HOME/.config/dynu
2026-08-31 21:36:47 -04:00
cd $CWD
# copy dynu service and timer
ln -s $CWD/.config/dynu/dynu.timer /etc/systemd/system/
ln -s $CWD/.config/dynu/dynu.service /etc/systemd/system/
# copy dynu update script
2026-09-02 20:54:07 -04:00
ln -s $CWD/.config/dynu/dynu.sh $HOME/.config/dynu/
ln -s $CWD/server/Caddyfile $HOME/
2026-07-06 21:06:55 -04:00
fi
# GIT_CLONES
cd $HOME/Projects
2026-07-06 21:06:55 -04:00
#git clone https://github.com/alexander-the-alright/
#git clone https://codeberg.org/alexander-the-alright/ekho
git clone https://earth-1.net/oracle/ekho
echo "ekho clone status = $?"
read
2026-07-06 21:06:55 -04:00
# TODO install
exit
# CONFIG
# copy over configuration files
cd $CWD
2026-08-31 21:36:47 -04:00
# copy .tmux directory, which contains all tmux configs
ln -s $CWD/.config/.tmux/ ~/.config/.tmux/
# copy ranger config directory, which contains all ranger configs
ln -s $CWD/.config/ranger/ ~/.config/ranger
# copy .vim and .vimrc, which are the same for all users ( so far )
ln -s $CWD/.config/.vim/ ~/.vim/
ln -s $CWD/.config/.vimrc ~/.vimrc
2026-07-06 21:06:55 -04:00
# TODO need to `sed` the config.json files in here to point to the correct
# logo, etc
# TODO symlink cachyos fish config files
case $USER in
2026-08-31 21:36:47 -04:00
# 1) batman/wayne
1)
;;
# 2) batman-beyond/mcginnis
2026-07-06 21:06:55 -04:00
2)
2026-08-31 21:36:47 -04:00
# fastfetch
# ly
ln -s ~/.config/.tmux/bb.tmux.conf ~/.tmux.conf
ln -s ~/.config/ranger/.cfgs/bb.rc.conf ~/.config/ranger/rc.conf
ln -s ~/.config/ranger/colorschemes/bb.gotham-2019.py ~/.config/ranger/colorschemes/gotham-2019.py
ln -s $CWD/.config/i3 ~/.config/i3
ln -s ~/.config/i3/.cfgs/bb.config ~/.config/i3/config
ln -s ~/.config/i3/.cfgs/bb.i3lock_updated.sh ~/.config/i3/i3lock_updated.sh
ln -s ~/.config/i3/.cfgs/bb.wallpaper.png ~/.config/i3/wallpaper.png
ln -s $CWD/.config/polybar ~/.config/polybar
ln -s ~/.config/polybar/.cfgs/bb.config ~/.config/polybar/config
ln -s $CWD/.config/rofi ~/.config/rofi
ln -s ~/.config/rofi/.cfgs/bb.gotham-2019.rasi /usr/share/rofi/themes/gotham-2019.rasi
ln -s ~/.config/rofi/.cfgs/bb.config ~/.config/rofi/config
ln -s ~/.config/rofi/.cfgs/bb.config.rasi ~/.config/rofi/config.rasi
2026-07-06 21:06:55 -04:00
;;
2026-08-31 21:36:47 -04:00
# 3) nightwing/grayson
2026-07-06 21:06:55 -04:00
3)
2026-08-31 21:36:47 -04:00
# tmux
# ranger
# fastfetch
# niri/nirimation
# sddm
ln -s $CWD/.config/niri/ ~/.config/niri
ln -s $CWD/.config/nirimation/ ~/.config/niri/nirimation
2026-07-06 21:06:55 -04:00
;;
2026-08-31 21:36:47 -04:00
# 4) red-hood/todd
4)
;;
# 5) red-robin/drake
2026-07-06 21:06:55 -04:00
5)
2026-08-31 21:36:47 -04:00
# tmux
# ranger
# fastfetch
# niri/nirimation
# sddm
ln -s $CWD/.config/niri/ ~/.config/niri
ln -s $CWD/.config/nirimation/ ~/.config/niri/nirimation
;;
# 6) robin/wayne
6)
2026-07-06 21:06:55 -04:00
;;
2026-08-31 21:36:47 -04:00
# 7) oracle/gordon
2026-07-06 21:06:55 -04:00
7)
2026-08-31 21:36:47 -04:00
# tmux
# ranger
# fastfetch
# fish config
2026-07-06 21:06:55 -04:00
;;
2026-08-31 21:36:47 -04:00
# 8) manhunter
2026-07-06 21:06:55 -04:00
8)
2026-08-31 21:36:47 -04:00
# tmux
# ranger
# fastfetch
# fish config
ln -s ~/.config/ranger/.cfgs/mm.rc.conf ~/.config/ranger/rc.conf
ln -s ~/.config/ranger/colorschemes/mm.watchtower.py ~/.config/ranger/colorschemes/watchtower.py
2026-07-06 21:06:55 -04:00
;;
2026-08-31 21:36:47 -04:00
# 9) zeta
2026-07-06 21:06:55 -04:00
9)
2026-08-31 21:36:47 -04:00
# tmux
# ranger
# fastfetch
# fish config
;;
# W) wayne-tech
"W")
# tmux
# fastfetch
# fish config
2026-07-06 21:06:55 -04:00
;;
*)
;;
esac
2026-08-31 21:36:47 -04:00
if [[ $OS = "arch" ]]; then
grep -inqrs "ilovecandy" /etc/pacman.conf
if [[ $? -eq 1 ]]; then
sed -i -e "s/^Color/Color\nILoveCandy/" /etc/pacman.conf
fi
fi