config

OpenBSD system configuration
git clone git://jacobedwards.org/config
Log | Files | Refs | README

commit 8342d8733baf67d9342e56e5b23f83c0367d16ad
parent d11629b7bb84abecdb99bc3f3bcf098b795a03f4
Author: Jacob R. Edwards <jacobouno@protonmail.com>
Date:   Thu, 18 Feb 2021 03:19:59 -0800

Add a system-wide package

This commit introduces a new concept, packages, which are sets of
modules grouped together. There are currently two packages, local
for for user-specific configurations, and global for system-wide
configurations. In the new global package there are a few modules
for things such as doas(1) and cron(8).

System-wide configurations are something I wanted to include for
awhile but since I didn't want to use stow(1) for security reasons
I never did. This will save alot of time when setting up new systems
and make this repository alot more cohesive, such as when I merged
the scripts into it.

Diffstat:
MMakefile | 40+++++++---------------------------------
MREADME | 6++++++
Aglobal/Makefile | 16++++++++++++++++
Aglobal/cron/etc/daily.local | 4++++
Aglobal/doas/etc/doas.conf | 6++++++
Aglobal/rc/etc/rc.conf.local | 7+++++++
Aglobal/sysctl/etc/sysctl.conf | 4++++
Aglobal/wsconsctl/etc/wsconsctl.conf | 3+++
Aglobal/xenodm/etc/X11/xenodm/Xsetup_0 | 11+++++++++++
Alocal/Makefile | 39+++++++++++++++++++++++++++++++++++++++
Rmodules/dalias/.config/dalias -> local/dalias/.config/dalias | 0
Rmodules/editline/.editrc -> local/editline/.editrc | 0
Rmodules/git/.config/git/config -> local/git/.config/git/config | 0
Rmodules/git/.config/git/ignore -> local/git/.config/git/ignore | 0
Rmodules/ksh/.config/ksh.kshrc -> local/ksh/.config/ksh.kshrc | 0
Rmodules/lynx/.config/lynx/lynx.cfg -> local/lynx/.config/lynx/lynx.cfg | 0
Rmodules/mpd/.config/mpd/mpd.conf -> local/mpd/.config/mpd/mpd.conf | 0
Rmodules/mpv/.config/mpv/input.conf -> local/mpv/.config/mpv/input.conf | 0
Rmodules/mpv/.config/mpv/mpv.conf -> local/mpv/.config/mpv/mpv.conf | 0
Rmodules/profile/.profile -> local/profile/.profile | 0
Rmodules/readline/.config/readline -> local/readline/.config/readline | 0
Rmodules/scripts/.local/bin/clipswap -> local/scripts/.local/bin/clipswap | 0
Rmodules/scripts/.local/bin/dalias -> local/scripts/.local/bin/dalias | 0
Rmodules/scripts/.local/bin/dp -> local/scripts/.local/bin/dp | 0
Rmodules/scripts/.local/bin/feed -> local/scripts/.local/bin/feed | 0
Rmodules/scripts/.local/bin/fsmenu -> local/scripts/.local/bin/fsmenu | 0
Rmodules/scripts/.local/bin/gp -> local/scripts/.local/bin/gp | 0
Rmodules/scripts/.local/bin/human.awk -> local/scripts/.local/bin/human.awk | 0
Rmodules/scripts/.local/bin/jots -> local/scripts/.local/bin/jots | 0
Rmodules/scripts/.local/bin/len -> local/scripts/.local/bin/len | 0
Rmodules/scripts/.local/bin/lynx -> local/scripts/.local/bin/lynx | 0
Rmodules/scripts/.local/bin/mark -> local/scripts/.local/bin/mark | 0
Rmodules/scripts/.local/bin/mato -> local/scripts/.local/bin/mato | 0
Rmodules/scripts/.local/bin/mem -> local/scripts/.local/bin/mem | 0
Rmodules/scripts/.local/bin/mm -> local/scripts/.local/bin/mm | 0
Rmodules/scripts/.local/bin/now -> local/scripts/.local/bin/now | 0
Rmodules/scripts/.local/bin/open -> local/scripts/.local/bin/open | 0
Rmodules/scripts/.local/bin/setbg -> local/scripts/.local/bin/setbg | 0
Rmodules/scripts/.local/bin/sfeed.awk -> local/scripts/.local/bin/sfeed.awk | 0
Rmodules/scripts/.local/bin/sman -> local/scripts/.local/bin/sman | 0
Rmodules/scripts/.local/bin/sman.sed -> local/scripts/.local/bin/sman.sed | 0
Rmodules/scripts/.local/bin/snap -> local/scripts/.local/bin/snap | 0
Rmodules/scripts/.local/bin/sron -> local/scripts/.local/bin/sron | 0
Rmodules/scripts/.local/bin/svt -> local/scripts/.local/bin/svt | 0
Rmodules/scripts/.local/bin/sysconf -> local/scripts/.local/bin/sysconf | 0
Rmodules/scripts/.local/bin/tat -> local/scripts/.local/bin/tat | 0
Rmodules/scripts/.local/bin/tb -> local/scripts/.local/bin/tb | 0
Rmodules/scripts/.local/bin/tspm -> local/scripts/.local/bin/tspm | 0
Rmodules/scripts/.local/bin/upfeed -> local/scripts/.local/bin/upfeed | 0
Rmodules/scripts/.local/bin/w3 -> local/scripts/.local/bin/w3 | 0
Rmodules/scripts/.local/bin/walt -> local/scripts/.local/bin/walt | 0
Rmodules/scripts/.local/bin/wdef -> local/scripts/.local/bin/wdef | 0
Rmodules/scripts/.local/bin/webq -> local/scripts/.local/bin/webq | 0
Rmodules/scripts/.local/bin/wex -> local/scripts/.local/bin/wex | 0
Rmodules/scripts/.local/bin/wid -> local/scripts/.local/bin/wid | 0
Rmodules/scripts/.local/bin/wpaper -> local/scripts/.local/bin/wpaper | 0
Rmodules/shell/.config/shell/aliases -> local/shell/.config/shell/aliases | 0
Rmodules/shell/.config/shell/cd -> local/shell/.config/shell/cd | 0
Rmodules/shell/.config/shell/etc -> local/shell/.config/shell/etc | 0
Rmodules/shell/.config/shell/fs -> local/shell/.config/shell/fs | 0
Rmodules/shell/.config/shell/gopher -> local/shell/.config/shell/gopher | 0
Rmodules/shell/.config/shell/hist -> local/shell/.config/shell/hist | 0
Rmodules/shell/.config/shell/main -> local/shell/.config/shell/main | 0
Rmodules/shell/.config/shell/mpc -> local/shell/.config/shell/mpc | 0
Rmodules/shell/.config/shell/openbsd -> local/shell/.config/shell/openbsd | 0
Rmodules/shell/.config/shell/sys -> local/shell/.config/shell/sys | 0
Rmodules/shell/.config/shell/xorg -> local/shell/.config/shell/xorg | 0
Rmodules/sxiv/.config/sxiv/exec/key-handler -> local/sxiv/.config/sxiv/exec/key-handler | 0
Rmodules/tmux/.config/tmux/tmux.conf -> local/tmux/.config/tmux/tmux.conf | 0
Rmodules/vi/.exrc -> local/vi/.exrc | 0
Rmodules/vim/.vimrc -> local/vim/.vimrc | 0
Rmodules/vimb/.config/vimb/config -> local/vimb/.config/vimb/config | 0
Rmodules/vimb/.config/vimb/style.css -> local/vimb/.config/vimb/style.css | 0
Rmodules/whois/.whois.conf -> local/whois/.whois.conf | 0
Rmodules/xdg-open/.config/mimeapps.list -> local/xdg-open/.config/mimeapps.list | 0
Rmodules/xdg-open/.local/share/applications/image.desktop -> local/xdg-open/.local/share/applications/image.desktop | 0
Rmodules/xdg-open/.local/share/applications/mpeg.desktop -> local/xdg-open/.local/share/applications/mpeg.desktop | 0
Rmodules/xdg-open/.local/share/applications/ogg.desktop -> local/xdg-open/.local/share/applications/ogg.desktop | 0
Rmodules/xdg-open/.local/share/applications/pdf.desktop -> local/xdg-open/.local/share/applications/pdf.desktop | 0
Rmodules/xdg-open/.local/share/applications/ps.desktop -> local/xdg-open/.local/share/applications/ps.desktop | 0
Rmodules/xdg-open/.local/share/applications/video.desktop -> local/xdg-open/.local/share/applications/video.desktop | 0
Rmodules/xmodmap/.config/xmodmaprc -> local/xmodmap/.config/xmodmaprc | 0
Rmodules/xorg/.Xresources -> local/xorg/.Xresources | 0
Rmodules/xorg/.xinitrc -> local/xorg/.xinitrc | 0
Rmodules/zathura/.config/zathura/zathurarc -> local/zathura/.config/zathura/zathurarc | 0
85 files changed, 103 insertions(+), 33 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,40 +1,14 @@ STOW = -MODULE_DIR = modules -MODULES =\ - dalias\ - editline\ - git\ - ksh\ - lynx\ - mpd\ - mpv\ - profile\ - readline\ - scripts\ - shell\ - sxiv\ - tmux\ - vi\ - vim\ - vimb\ - whois\ - xdg-open\ - xmodmap\ - xorg\ - zathura\ +PKGS = local all: install install: -.ifdef ${STOW} - stow -S -t${HOME} -d${MODULE_DIR} ${MODULES} -.else - (cd ${MODULE_DIR} && cast -p ${MODULES} ${HOME}) -.endif +.for PKG in ${PKGS} + make -C ${PKG} install +.endfor uninstall: -.ifdef ${STOW} - stow -D -t${HOME} -d${MODULE_DIR} ${MODULES} -.else - rm -v `cd ${MODULE_DIR} && cast -v ${MODULES} ${HOME}` -.endif +.for PKG in ${PKGS} + make -C ${PKG} uninstall +.endfor diff --git a/README b/README @@ -21,6 +21,12 @@ the vi and ksh modules: $ make MODULES='vi ksh' install +You may also install the global configurations by selecting the +`global' package (e.g. make PKGS=global) although you should look +over it first, this stuff is mostly OpenBSD specific and not user +agnostic, that is, it gives the user `jacob' alot of power (see +doas.conf). + Note that cast(1) is not likely in your packages, to install it please see my cast repository wherever you found this one. You may also use GNU stow(1) by defining STOW, e.g. `make STOW=1'. diff --git a/global/Makefile b/global/Makefile @@ -0,0 +1,16 @@ +HOME = / +MODULES =\ + cron\ + doas\ + rc\ + sysctl\ + wsconsctl\ + xenodm\ + +all: install + +install: + chown root:wheel `cast -cf ${MODULES} ${HOME}` + +uninstall: + rm -v `cast -v ${MODULES} ${HOME}` diff --git a/global/cron/etc/daily.local b/global/cron/etc/daily.local @@ -0,0 +1,4 @@ +# daily.local -- daily system maintenance + +/usr/libexec/locate.updatedb + diff --git a/global/doas/etc/doas.conf b/global/doas/etc/doas.conf @@ -0,0 +1,6 @@ +# doas.conf + +permit jacob as root + +# allow nested calls +permit nopass root as root diff --git a/global/rc/etc/rc.conf.local b/global/rc/etc/rc.conf.local @@ -0,0 +1,7 @@ +# rc.conf.local + +apmd_flags=-Hz100 +mpd_user=jacob +pkg_scripts=mpd +sshd_flags=NO +xenodm_flags= diff --git a/global/sysctl/etc/sysctl.conf b/global/sysctl/etc/sysctl.conf @@ -0,0 +1,4 @@ +# sysctl.conf + +# no action when closing laptop +machdep.lidaction=0 diff --git a/global/wsconsctl/etc/wsconsctl.conf b/global/wsconsctl/etc/wsconsctl.conf @@ -0,0 +1,3 @@ +# wsconsctl.conf + +keyboard.bell.volume=0 diff --git a/global/xenodm/etc/X11/xenodm/Xsetup_0 b/global/xenodm/etc/X11/xenodm/Xsetup_0 @@ -0,0 +1,11 @@ +#!/bin/sh +# OpenBSD xenodm(1) Xsetup_0 + +if test -x /usr/local/bin/xwallpaper && + test -s /etc/X11/xenodm/background; then + /usr/local/bin/xwallpaper --zoom /etc/X11/xenodm/background +elif test -x /usr/local/bin/openbsd-wallpaper; then + /usr/local/bin/openbsd-wallpaper +else + xsetroot -solid black +fi diff --git a/local/Makefile b/local/Makefile @@ -0,0 +1,39 @@ +STOW = +MODULES =\ + dalias\ + editline\ + git\ + ksh\ + lynx\ + mpd\ + mpv\ + profile\ + readline\ + scripts\ + shell\ + sxiv\ + tmux\ + vi\ + vim\ + vimb\ + whois\ + xdg-open\ + xmodmap\ + xorg\ + zathura\ + +all: install + +install: +.ifdef ${STOW} + stow -S -t${HOME} ${MODULES} +.else + cast -p ${MODULES} ${HOME} +.endif + +uninstall: +.ifdef ${STOW} + stow -D -t${HOME} ${MODULES} +.else + rm -v `cast -v ${MODULES} ${HOME}` +.endif diff --git a/modules/dalias/.config/dalias b/local/dalias/.config/dalias diff --git a/modules/editline/.editrc b/local/editline/.editrc diff --git a/modules/git/.config/git/config b/local/git/.config/git/config diff --git a/modules/git/.config/git/ignore b/local/git/.config/git/ignore diff --git a/modules/ksh/.config/ksh.kshrc b/local/ksh/.config/ksh.kshrc diff --git a/modules/lynx/.config/lynx/lynx.cfg b/local/lynx/.config/lynx/lynx.cfg diff --git a/modules/mpd/.config/mpd/mpd.conf b/local/mpd/.config/mpd/mpd.conf diff --git a/modules/mpv/.config/mpv/input.conf b/local/mpv/.config/mpv/input.conf diff --git a/modules/mpv/.config/mpv/mpv.conf b/local/mpv/.config/mpv/mpv.conf diff --git a/modules/profile/.profile b/local/profile/.profile diff --git a/modules/readline/.config/readline b/local/readline/.config/readline diff --git a/modules/scripts/.local/bin/clipswap b/local/scripts/.local/bin/clipswap diff --git a/modules/scripts/.local/bin/dalias b/local/scripts/.local/bin/dalias diff --git a/modules/scripts/.local/bin/dp b/local/scripts/.local/bin/dp diff --git a/modules/scripts/.local/bin/feed b/local/scripts/.local/bin/feed diff --git a/modules/scripts/.local/bin/fsmenu b/local/scripts/.local/bin/fsmenu diff --git a/modules/scripts/.local/bin/gp b/local/scripts/.local/bin/gp diff --git a/modules/scripts/.local/bin/human.awk b/local/scripts/.local/bin/human.awk diff --git a/modules/scripts/.local/bin/jots b/local/scripts/.local/bin/jots diff --git a/modules/scripts/.local/bin/len b/local/scripts/.local/bin/len diff --git a/modules/scripts/.local/bin/lynx b/local/scripts/.local/bin/lynx diff --git a/modules/scripts/.local/bin/mark b/local/scripts/.local/bin/mark diff --git a/modules/scripts/.local/bin/mato b/local/scripts/.local/bin/mato diff --git a/modules/scripts/.local/bin/mem b/local/scripts/.local/bin/mem diff --git a/modules/scripts/.local/bin/mm b/local/scripts/.local/bin/mm diff --git a/modules/scripts/.local/bin/now b/local/scripts/.local/bin/now diff --git a/modules/scripts/.local/bin/open b/local/scripts/.local/bin/open diff --git a/modules/scripts/.local/bin/setbg b/local/scripts/.local/bin/setbg diff --git a/modules/scripts/.local/bin/sfeed.awk b/local/scripts/.local/bin/sfeed.awk diff --git a/modules/scripts/.local/bin/sman b/local/scripts/.local/bin/sman diff --git a/modules/scripts/.local/bin/sman.sed b/local/scripts/.local/bin/sman.sed diff --git a/modules/scripts/.local/bin/snap b/local/scripts/.local/bin/snap diff --git a/modules/scripts/.local/bin/sron b/local/scripts/.local/bin/sron diff --git a/modules/scripts/.local/bin/svt b/local/scripts/.local/bin/svt diff --git a/modules/scripts/.local/bin/sysconf b/local/scripts/.local/bin/sysconf diff --git a/modules/scripts/.local/bin/tat b/local/scripts/.local/bin/tat diff --git a/modules/scripts/.local/bin/tb b/local/scripts/.local/bin/tb diff --git a/modules/scripts/.local/bin/tspm b/local/scripts/.local/bin/tspm diff --git a/modules/scripts/.local/bin/upfeed b/local/scripts/.local/bin/upfeed diff --git a/modules/scripts/.local/bin/w3 b/local/scripts/.local/bin/w3 diff --git a/modules/scripts/.local/bin/walt b/local/scripts/.local/bin/walt diff --git a/modules/scripts/.local/bin/wdef b/local/scripts/.local/bin/wdef diff --git a/modules/scripts/.local/bin/webq b/local/scripts/.local/bin/webq diff --git a/modules/scripts/.local/bin/wex b/local/scripts/.local/bin/wex diff --git a/modules/scripts/.local/bin/wid b/local/scripts/.local/bin/wid diff --git a/modules/scripts/.local/bin/wpaper b/local/scripts/.local/bin/wpaper diff --git a/modules/shell/.config/shell/aliases b/local/shell/.config/shell/aliases diff --git a/modules/shell/.config/shell/cd b/local/shell/.config/shell/cd diff --git a/modules/shell/.config/shell/etc b/local/shell/.config/shell/etc diff --git a/modules/shell/.config/shell/fs b/local/shell/.config/shell/fs diff --git a/modules/shell/.config/shell/gopher b/local/shell/.config/shell/gopher diff --git a/modules/shell/.config/shell/hist b/local/shell/.config/shell/hist diff --git a/modules/shell/.config/shell/main b/local/shell/.config/shell/main diff --git a/modules/shell/.config/shell/mpc b/local/shell/.config/shell/mpc diff --git a/modules/shell/.config/shell/openbsd b/local/shell/.config/shell/openbsd diff --git a/modules/shell/.config/shell/sys b/local/shell/.config/shell/sys diff --git a/modules/shell/.config/shell/xorg b/local/shell/.config/shell/xorg diff --git a/modules/sxiv/.config/sxiv/exec/key-handler b/local/sxiv/.config/sxiv/exec/key-handler diff --git a/modules/tmux/.config/tmux/tmux.conf b/local/tmux/.config/tmux/tmux.conf diff --git a/modules/vi/.exrc b/local/vi/.exrc diff --git a/modules/vim/.vimrc b/local/vim/.vimrc diff --git a/modules/vimb/.config/vimb/config b/local/vimb/.config/vimb/config diff --git a/modules/vimb/.config/vimb/style.css b/local/vimb/.config/vimb/style.css diff --git a/modules/whois/.whois.conf b/local/whois/.whois.conf diff --git a/modules/xdg-open/.config/mimeapps.list b/local/xdg-open/.config/mimeapps.list diff --git a/modules/xdg-open/.local/share/applications/image.desktop b/local/xdg-open/.local/share/applications/image.desktop diff --git a/modules/xdg-open/.local/share/applications/mpeg.desktop b/local/xdg-open/.local/share/applications/mpeg.desktop diff --git a/modules/xdg-open/.local/share/applications/ogg.desktop b/local/xdg-open/.local/share/applications/ogg.desktop diff --git a/modules/xdg-open/.local/share/applications/pdf.desktop b/local/xdg-open/.local/share/applications/pdf.desktop diff --git a/modules/xdg-open/.local/share/applications/ps.desktop b/local/xdg-open/.local/share/applications/ps.desktop diff --git a/modules/xdg-open/.local/share/applications/video.desktop b/local/xdg-open/.local/share/applications/video.desktop diff --git a/modules/xmodmap/.config/xmodmaprc b/local/xmodmap/.config/xmodmaprc diff --git a/modules/xorg/.Xresources b/local/xorg/.Xresources diff --git a/modules/xorg/.xinitrc b/local/xorg/.xinitrc diff --git a/modules/zathura/.config/zathura/zathurarc b/local/zathura/.config/zathura/zathurarc