2022-11-13 14:13:31 -05:00
|
|
|
#!/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
|
|
|
|
|
2023-01-07 16:35:35 -05:00
|
|
|
# Allow users in the wheel group to use doas
|
|
|
|
|
|
|
|
echo "permit :wheel" >> /etc/doas.conf
|
2023-01-07 16:41:25 -05:00
|
|
|
|
|
|
|
# Enable SSH at boot
|
|
|
|
rcctl enable sshd
|
2023-01-07 17:21:15 -05:00
|
|
|
|
|
|
|
echo "https://mirrors.mit.edu/pub/OpenBSD >> /home/$user/.profile
|
|
|
|
export PKG_PATH=https://mirrors.mit.edu/pub/OpenBSD/$(uname -r)/packages/$(uname -m)/
|
2023-04-18 19:24:04 -04:00
|
|
|
|
|
|
|
# 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
|