#!/bin/ksh # Copyright (c) 2022, Scott C. MacCallum (scm@sdf.org) # All rights reserved. # Redistribution and use of this software in source and binary forms, with or # without modification, are permitted provided that the following conditions # are met: # * Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # * Neither the name of Scott C. MacCallum nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission of Scott C. # MacCallum. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. echo -n "User in wheel group: " read $user # Enable the power manager and start it at boot. Have it adjust automatically # adjust to power needs. Put the computer in suspend (deep sleep) state when # 15% of the battery is left rcctl enable apmd rcctl set apmd flags -A -z 15 rcctl start apmd # Set max the processes, max threads, maxfiles, and turn on audio and camera # recording echo "kern.maxproc=4096" >> /etc/sysctl.conf echo "kern.maxthread=4096" >> /etc/sysctl.conf echo "kern.maxfiles=32768" >> /etc/sysctl.conf echo "kern.audio.record=1" >> /etc/sysctl.conf echo "kern.video.record=1" >> /etc/sysctl.conf # Unmute the speakers echo "outputs.spkr_mute=off" >> /etc/mixerctl.conf # Mute the shell beep, enable the Alt key for GNU Emacs, and enable touchpad # tapping echo "keyboard.bell.volume=0" >> /etc/wsconsctl.conf echo "keyboard.encoding=us.metaesc" >> /etc/wsconsctl.conf echo "mouse.tp.tapping=1" >> /etc/wsconsctl.conf # Add the user to the operator and staff group usermod -G operator $user usermod -G staff $user # Set LC_CTYPE for Mosh echo "export LC_CTYPE=en_US.UTF-8" >> /home/$user/.profile # Allow users in the wheel group to use doas echo "permit :wheel" >> /etc/doas.conf # Enable SSH at boot rcctl enable sshd echo "https://mirrors.mit.edu/pub/OpenBSD >> /home/$user/.profile export PKG_PATH=https://mirrors.mit.edu/pub/OpenBSD/$(uname -r)/packages/$(uname -m)/ # Wi-Fi setup touch /etc/hostname.wifi_device echo "join NETWORK wpakey PASSWORD" >> /etc/hostname.wifi_device echo "inet autoconf" >> /etc/hostname.wifi_device # GCC setup ln -s /usr/local/bin/egcc /usr/bin/gcc