#!/bin/sh
# NEETBSD
#
# NetBSD post-installation script via pkgin .
#
# DETAILS
#
# NEETBSD packages: enlightenment firefox-esr xfe grafx2 mpv dillo mumble
# qbittorrent psi kvirc lxqt-archiver stalonetray eterm
# nano htop mc ncdu ufetch wget
#
# LICENSE
#
# Project released under the terms of the WTFPL version 2 - stored as LICENSE.
#
echo 'NEETBSD' && echo ' UNFINISHED SCRIPT DO NOT USE' # DEV warning
# SOFTWARE INSTALLATION
echo 'Installing software for NEETBSD'
# BINARY PACKAGES via pkgin
echo 'Installing binary packages via the root user using su'
echo 'This operation might take a long moment to complete!!'
su root -c 'pkgin -y install enlightenment firefox-esr xfe grafx2 mpv dillo mumble qbittorrent psi kvirc lxqt-archiver stalonetray eterm nano htop mc ncdu ufetch wget'
# COMPILATION via various utilities
echo 'Software compilation - this operation should be rapid'
# TO-DO: make OctoPkgin
# Is it installed? `command -v` is +/- equivalent to `which`
if [ -x "$(command -v xdiskusage)" ]; then
echo 'xdiskusage is already installed.'
else
echo 'Compiling xdiskusage'
echo ' xdiskusage version 1.60 - please check if this is the latest!'
wget --quiet -O - https://xdiskusage.sourceforge.net/ | grep 'Download source'
sleep 5 # Some time to read the above warning and result
su root -c 'pkgin -y install fltk-1.3.9' # FLTK is the sole dependency
wget https://xdiskusage.sourceforge.net/xdiskusage-1.60.tgz # Download src
mv xdiskusage-1.60.tgz /tmp # This operation shall be done in a tmp area
cd /tmp
tar xfv xdiskusage-1.60.tgz # Extract
cd xdiskusage-1.60
sed -i 's/(__APPLE__)/(__NetBSD__)/g' xdiskusage.C # sed replacing 'APPLE' with 'NetBSD'
# ^ xdiskusage now acts like the FreeBSD version - probably hacky, but it seems functional
# Configure, compile, install, clean
./configure && make CPPFLAGS=-I/usr/pkg/include CPPFLAGS+=-I/usr/X11R7/include && su root -c 'make install clean'
# .desktop ... apparently redundant with Enlightenment already detecting xdu but well
su root -c 'mkdir /usr/local/share/applications/ && printf "[Desktop Entry]\nType=Application\nName=xdiskusage\nComment=Graphical disk usage program\nTerminal=false\nTryExec=xdiskusage\nExec=/usr/local/bin/xdiskusage\nCategories=Utility" > /usr/local/share/applications/xdiskusage.desktop'
cd .. # Go back to /tmp
rm -r /tmp/xdiskusage-1.60* # Erase tmp compilation data
echo 'Software compilation done'
fi
echo 'SOFTWARE INSTALLATION FINISHED'
# SOFTWARE COMFY-GURATION
echo 'Configuring the installed packages...'
echo 'Creating ~/.xinitrc'
# Back up the previous .xinitrc if it exists
mv ~/.xinitrc ~/.xinitrc.old && echo 'Previous .xinitrc backed up as .xinitrc.old'
printf 'exec enlightenment_start\n' > ~/.xinitrc.tmp # Start enlightenment
cat ~/.xinitrc.tmp ~/.xinitrc.old > ~/.xinitrc # Merge the command for e. with the old xinitrc
rm ~/.xinitrc.tmp # Erase the temporary xinitrc
# RESULTING .xinitrc:
# exec enlightenment_start
# [Previous .xinitrc content if it existed]
# TO-DO: ~/.e/ for Enlightenment
# TO-DO: stalonetray auto-start (unsuccessfully tried ~/.xinitrc + ~/.e/e/applications/startup/.order)
# TO-DO: Firefox extensions - uBlock Origin, LibRedirect, Block Cloudflare, and Paxmod.
echo 'CONFIGURATION FINISHED'
echo 'NEETBSD installation finished. Enjoy!'