as I’m installing FreeBSD boxes and VMs left and right, I typically do some initial setup before doing anything else. while some use cases call for additional ports to be installed (like bird or routinator), there’s pretty standard “intro”.

first, make sure the packages themselves are up to date:

sed -i '' s/quarterly/latest/g /etc/pkg/FreeBSD.conf
pkg upgrade

this will trigger initial pkg install.

then, it’s my personal minimum set of packages:

pkg install htop bmon mtr-nox11 screen wget doas git-lite

as ZFS is only filesystem you should be using ( ;) ) and this is not some NAS system, I typically disable access time marking to speed up VM filesystem operations a bit:

zfs set atime=off zroot

next step is checking out latest 14-STABLE source files:

git clone -b stable/14 --depth 1 https://git.freebsd.org/src.git /usr/src

then I have my own set of template files I’m using - you’re free to use them as well. assuming you’re doing this as root (not really recommended), or you’ll use sudo or doas before copying to /etc/ and below:

cd ~
git clone https://github.com/lukasz-bromirski/freebsd-templates.git
cd freebsd-templates
cp sysctl.conf ntp.conf make.conf src.conf /etc/
cp server /usr/src/sys/amd64/conf/
service ntpd restart
sysctl -f /etc/sysctl.conf

note… they have specific set of defaults or choices, and I’m not sure if yours would be the same. before copying anything to your system, make sure you understand what you’re doing.

at this point you can choose to rebuild your FreeBSD system from files checked out before. or do whatever you want - it’s your system, and mighty FreeBSD OS :)

happy freebsding!