diff options
Diffstat (limited to 'home')
-rw-r--r-- | home/.config/X/modmap | 16 | ||||
-rw-r--r-- | home/.config/X/resources | 52 | ||||
-rw-r--r-- | home/.config/cwm/cwmrc | 87 | ||||
-rw-r--r-- | home/.config/git/config | 34 | ||||
-rw-r--r-- | home/.config/git/ignore | 2 | ||||
-rw-r--r-- | home/.config/htop/htoprc | 38 | ||||
-rw-r--r-- | home/.editrc | 1 | ||||
-rw-r--r-- | home/.gdbinit | 1 | ||||
-rw-r--r-- | home/.hushlogin | 0 | ||||
-rw-r--r-- | home/.inputrc | 1 | ||||
-rw-r--r-- | home/.lldbinit | 1 | ||||
-rwxr-xr-x | home/.local/bin/aes | 7 | ||||
-rwxr-xr-x | home/.local/bin/clock | 17 | ||||
-rwxr-xr-x | home/.local/bin/def | 47 | ||||
-rwxr-xr-x | home/.local/bin/deg | 6 | ||||
-rwxr-xr-x | home/.local/bin/git-password | 7 | ||||
-rwxr-xr-x | home/.local/bin/mdate | 2 | ||||
-rwxr-xr-x | home/.local/bin/mins | 4 | ||||
-rwxr-xr-x | home/.local/bin/nasd | 14 | ||||
-rwxr-xr-x | home/.local/bin/notify-send | 9 | ||||
-rwxr-xr-x | home/.local/bin/np | 7 | ||||
-rwxr-xr-x | home/.local/bin/open | 19 | ||||
-rwxr-xr-x | home/.local/bin/pbcopy | 11 | ||||
-rwxr-xr-x | home/.local/bin/pbpaste | 11 | ||||
-rwxr-xr-x | home/.local/bin/versions | 9 | ||||
-rwxr-xr-x | home/.local/bin/whinclude | 11 | ||||
-rw-r--r-- | home/.profile | 28 | ||||
-rw-r--r-- | home/.shrc | 54 | ||||
-rw-r--r-- | home/.ssh/config | 17 | ||||
-rw-r--r-- | home/.xsession | 14 |
30 files changed, 527 insertions, 0 deletions
diff --git a/home/.config/X/modmap b/home/.config/X/modmap new file mode 100644 index 00000000..b0b1ea79 --- /dev/null +++ b/home/.config/X/modmap @@ -0,0 +1,16 @@ +clear Lock +keysym Caps_Lock = Escape +keysym 1 = exclam 1 +keysym 2 = at 2 +keysym 3 = numbersign 3 +keysym 4 = dollar 4 +keysym 5 = percent 5 +keysym 6 = asciicircum 6 +keysym 7 = ampersand 7 +keysym 8 = asterisk 8 +keysym 9 = parenleft 9 +keysym 0 = parenright 0 +keysym minus = underscore minus +keysym bracketleft = braceleft bracketleft +keysym bracketright = braceright bracketright +keysym backslash = bar backslash diff --git a/home/.config/X/resources b/home/.config/X/resources new file mode 100644 index 00000000..f4603cd9 --- /dev/null +++ b/home/.config/X/resources @@ -0,0 +1,52 @@ +Xft.dpi: 144 +Xft.antialias: true +Xft.hinting: false + +Xcursor.size: 64 +Xcursor.theme: dmz-aa + +XLock.usefirst: false +XLock.echokeys: true + +*Background: rgb:14/13/0E +*Foreground: rgb:B7/A9/80 +*BorderColor: rgb:99/8D/6B + +XTerm*utf8: true +XTerm*metaSendsEscape: true +XTerm*alternateScroll: true +XTerm*allowMouseOps: false +XTerm*disallowedMouseOps: X10,Locator,VT200*,Any*,Extended,SGR,URXVT +XTerm*bellIsUrgent: true +XTerm*charClass: 33:48,36-47:48,58-59:48,61:48,63-64:48,95:48,126:48 + +XTerm*VT100*translations: #override \n\ + Super <Key>C: copy-selection(CLIPBOARD) \n\ + Super <Key>V: insert-selection(CLIPBOARD) \n\ + <Btn4Down>: scroll-back(1,line,m) \n\ + <Btn5Down>: scroll-forw(1,line,m) + +XTerm*faceName: Go Mono:size=12 +XTerm*internalBorder: 6 +XTerm*colorBDMode: true +XTerm*scrollBar: false +XTerm*pointerMode: 2 + +XTerm*color0: rgb:16/15/10 +XTerm*color1: rgb:A3/28/10 +XTerm*color2: rgb:72/7A/18 +XTerm*color3: rgb:A3/77/20 +XTerm*color4: rgb:3D/62/66 +XTerm*color5: rgb:7A/49/55 +XTerm*color6: rgb:55/7A/55 +XTerm*color7: rgb:99/8D/6B +XTerm*color8: rgb:4C/46/35 +XTerm*color9: rgb:CC/32/14 +XTerm*color10: rgb:8E/99/1E +XTerm*color11: rgb:CC/95/28 +XTerm*color12: rgb:4C/7B/7F +XTerm*color13: rgb:99/5B/6B +XTerm*color14: rgb:6B/99/6B +XTerm*color15: rgb:CC/BC/8E +XTerm*colorBD: rgb:CC/BC/8E +XTerm*cursorColor: rgb:7A/71/55 diff --git a/home/.config/cwm/cwmrc b/home/.config/cwm/cwmrc new file mode 100644 index 00000000..d72ec163 --- /dev/null +++ b/home/.config/cwm/cwmrc @@ -0,0 +1,87 @@ +sticky yes +snapdist 10 +moveamount 10 + +ignore clock +autogroup 0 clock,XTerm +gap 38 0 0 0 + +unbind-key all +bind-key 4-n terminal +bind-key 4-t "firefox -new-tab about:blank" +bind-key 4-Delete lock +bind-key 4-Down window-lower +bind-key 4-Up window-raise +bind-key 4-slash menu-window +bind-key 4-Tab group-cycle +bind-key 4S-Tab group-rcycle +bind-key 4-grave window-cycle +bind-key 4S-grave window-rcycle +bind-key 4-w window-close +bind-key 4-exclam group-only-1 +bind-key 4-at group-only-2 +bind-key 4-numbersign group-only-3 +bind-key 4-dollar group-only-4 +bind-key 4-percent group-only-5 +bind-key 4-asciicircum group-only-6 +bind-key 4-ampersand group-only-7 +bind-key 4-asterisk group-only-8 +bind-key 4-parenleft group-only-9 +bind-key 4S-exclam window-movetogroup-1 +bind-key 4S-at window-movetogroup-2 +bind-key 4S-numbersign window-movetogroup-3 +bind-key 4S-dollar window-movetogroup-4 +bind-key 4S-percent window-movetogroup-5 +bind-key 4S-asciicircum window-movetogroup-6 +bind-key 4S-ampersand window-movetogroup-7 +bind-key 4S-asterisk window-movetogroup-8 +bind-key 4S-parenleft window-movetogroup-9 +bind-key 4-f window-fullscreen +bind-key 4-m window-maximize +bind-key 4-equal window-vmaximize +bind-key 4S-equal window-hmaximize +bind-key 4-underscore window-vtile +bind-key 4S-underscore window-htile +bind-key 4-h window-move-left-big +bind-key 4-j window-move-down-big +bind-key 4-k window-move-up-big +bind-key 4-l window-move-right-big +bind-key 4S-h window-move-left +bind-key 4S-j window-move-down +bind-key 4S-k window-move-up +bind-key 4S-l window-move-right +bind-key 4S-y window-snap-up-left +bind-key 4S-u window-snap-up-right +bind-key 4S-b window-snap-down-left +bind-key 4S-n window-snap-down-right +bind-key 4M-h window-resize-left +bind-key 4M-j window-resize-down +bind-key 4M-k window-resize-up +bind-key 4M-l window-resize-right +bind-key 4MS-h window-resize-left-big +bind-key 4MS-j window-resize-down-big +bind-key 4MS-k window-resize-up-big +bind-key 4MS-l window-resize-right-big +bind-key 4-space menu-exec +bind-key 4S-r restart +bind-key 4S-q quit + +bind-key F1 "xbacklight -steps 1 -5" +bind-key F2 "xbacklight -steps 1 +5" +bind-key F10 "sndioctl output.mute=!" +bind-key F11 "sndioctl output.level=-0.05" +bind-key F12 "sndioctl output.level=+0.05" + +unbind-mouse all +bind-mouse 4-1 window-move +bind-mouse 4S-1 window-resize + +fontname "Go Mono:size=11" +borderwidth 2 +color inactiveborder rgb:4C/46/35 +color activeborder rgb:99/8D/6B +color urgencyborder rgb:A3/77/20 +color menubg rgb:14/13/0E +color menufg rgb:B7/A9/80 +color font rgb:B7/A9/80 +color selfont rgb:14/13/0E diff --git a/home/.config/git/config b/home/.config/git/config new file mode 100644 index 00000000..c990de2c --- /dev/null +++ b/home/.config/git/config @@ -0,0 +1,34 @@ +[user] + name = June McEnroe + email = june@causal.agency + +[branch] + sort = committerdate + +[commit] + verbose = true + +[diff] + colorMoved = default + colorMovedWS = allow-indentation-change + +[merge] + conflictStyle = diff3 + +[push] + autoSetupRemote = true + +[pull] + rebase = true + +[rebase] + autosquash = true + +[pretty] + log = %Cred%h %Creset%s%C(yellow)%d %Cgreen(%ar) %Cblue<%aN> + +[alias] + forgive = blame + +[include] + path = ./private diff --git a/home/.config/git/ignore b/home/.config/git/ignore new file mode 100644 index 00000000..fea54519 --- /dev/null +++ b/home/.config/git/ignore @@ -0,0 +1,2 @@ +*.DS_store +*.dSYM/ diff --git a/home/.config/htop/htoprc b/home/.config/htop/htoprc new file mode 100644 index 00000000..705323ef --- /dev/null +++ b/home/.config/htop/htoprc @@ -0,0 +1,38 @@ +# Beware! This file is rewritten by htop when settings are changed in the interface. +# The parser is also very primitive, and not human-friendly. +fields=0 48 39 2 46 49 1 +sort_key=47 +sort_direction=1 +tree_sort_key=0 +tree_sort_direction=1 +hide_kernel_threads=1 +hide_userland_threads=1 +shadow_other_users=0 +show_thread_names=0 +show_program_path=1 +highlight_base_name=1 +highlight_megabytes=1 +highlight_threads=1 +highlight_changes=0 +highlight_changes_delay_secs=5 +find_comm_in_cmdline=1 +strip_exe_from_cmdline=1 +show_merged_command=0 +tree_view=1 +tree_view_always_by_pid=0 +all_branches_collapsed=0 +header_margin=0 +detailed_cpu_time=0 +cpu_count_from_one=1 +show_cpu_usage=1 +show_cpu_frequency=0 +update_process_names=0 +account_guest_in_cpu_meter=0 +color_scheme=0 +enable_mouse=0 +delay=15 +left_meters=AllCPUs2 +left_meter_modes=1 +right_meters=Memory Swap +right_meter_modes=1 1 +hide_function_bar=2 diff --git a/home/.editrc b/home/.editrc new file mode 100644 index 00000000..cf779a7d --- /dev/null +++ b/home/.editrc @@ -0,0 +1 @@ +bind -v diff --git a/home/.gdbinit b/home/.gdbinit new file mode 100644 index 00000000..9422460c --- /dev/null +++ b/home/.gdbinit @@ -0,0 +1 @@ +set disassembly-flavor intel diff --git a/home/.hushlogin b/home/.hushlogin new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/home/.hushlogin diff --git a/home/.inputrc b/home/.inputrc new file mode 100644 index 00000000..b2cc9d61 --- /dev/null +++ b/home/.inputrc @@ -0,0 +1 @@ +set editing-mode vi diff --git a/home/.lldbinit b/home/.lldbinit new file mode 100644 index 00000000..73f3e676 --- /dev/null +++ b/home/.lldbinit @@ -0,0 +1 @@ +settings set target.x86-disassembly-flavor intel diff --git a/home/.local/bin/aes b/home/.local/bin/aes new file mode 100755 index 00000000..32b52637 --- /dev/null +++ b/home/.local/bin/aes @@ -0,0 +1,7 @@ +#!/bin/sh +set -eu + +enwiden() { + exec tr ' -~' ' !-~' +} +[ $# -gt 0 ] && echo "$*" | enwiden || enwiden diff --git a/home/.local/bin/clock b/home/.local/bin/clock new file mode 100755 index 00000000..ef8cd6d8 --- /dev/null +++ b/home/.local/bin/clock @@ -0,0 +1,17 @@ +#!/bin/sh +set -eu + +tput civis +sleep=$(( 60 - $(date +'%S' | sed 's/^0//') )) +while :; do + if [ $(apm -a) -eq 1 ]; then + printf '%3s%%' "$(apm -l)" + else + test $(apm -b) -eq 2 && tput setaf 1 bold + printf '%3.3sm' "$(apm -m)" + tput sgr0 + fi + printf ' %s\r' "$(date +'%a %H:%M')" + sleep $sleep + sleep=60 +done diff --git a/home/.local/bin/def b/home/.local/bin/def new file mode 100755 index 00000000..6a1681d3 --- /dev/null +++ b/home/.local/bin/def @@ -0,0 +1,47 @@ +#!/bin/sh +set -eu + +macro=$1 +headers=' +assert.h +complex.h +ctype.h +errno.h +fenv.h +float.h +inttypes.h +iso646.h +limits.h +locale.h +math.h +setjmp.h +signal.h +stdalign.h +stdarg.h +stdatomic.h +stdbool.h +stddef.h +stdint.h +stdio.h +stdlib.h +stdnoreturn.h +string.h +tgmath.h +threads.h +time.h +uchar.h +wchar.h +wctype.h +' + +for header in $headers; do + defined=$( + echo "$macro" \ + | cc -E -x c -include "$header" - \ + 2> /dev/null \ + | tail -n 1 + ) + [ $? -ne 0 -o "$defined" = "$macro" ] && continue + echo "#include <${header}>" + echo "$defined" +done diff --git a/home/.local/bin/deg b/home/.local/bin/deg new file mode 100755 index 00000000..216029ed --- /dev/null +++ b/home/.local/bin/deg @@ -0,0 +1,6 @@ +#!/bin/sh +set -eu +cat <<EOF +${1}°F = $(dc -e "1k $(echo "$1" | sed 's/^-/_/') 32-1.8/p")°C +${1}°C = $(dc -e "1k $(echo "$1" | sed 's/^-/_/') 1.8*32+p")°F +EOF diff --git a/home/.local/bin/git-password b/home/.local/bin/git-password new file mode 100755 index 00000000..41351e38 --- /dev/null +++ b/home/.local/bin/git-password @@ -0,0 +1,7 @@ +#!/bin/sh +set -eu + +url=$1 +echo "url=${url}" \ + | git credential fill \ + | sed -En 's/^password=(.*)/\1/p' diff --git a/home/.local/bin/mdate b/home/.local/bin/mdate new file mode 100755 index 00000000..daff50dc --- /dev/null +++ b/home/.local/bin/mdate @@ -0,0 +1,2 @@ +#!/bin/sh +exec date +'.Dd %B %e, %Y' diff --git a/home/.local/bin/mins b/home/.local/bin/mins new file mode 100755 index 00000000..9cbd5fa8 --- /dev/null +++ b/home/.local/bin/mins @@ -0,0 +1,4 @@ +#!/bin/sh +exec dc <<EOF +$1 60~rn[h]nn[m]p +EOF diff --git a/home/.local/bin/nasd b/home/.local/bin/nasd new file mode 100755 index 00000000..60241395 --- /dev/null +++ b/home/.local/bin/nasd @@ -0,0 +1,14 @@ +#!/bin/sh +set -eu + +dir=$(mktemp -d) +trap 'rm -r "$dir"' EXIT + +echo 'bits 64' >"${dir}/input" +for ins; do + printf '%s\n' "$ins" >>"${dir}/input" +done +[ $# -eq 0 ] && cat >>"${dir}/input" + +nasm -o "${dir}/output" "${dir}/input" +ndisasm -b 64 "${dir}/output" diff --git a/home/.local/bin/notify-send b/home/.local/bin/notify-send new file mode 100755 index 00000000..5630440d --- /dev/null +++ b/home/.local/bin/notify-send @@ -0,0 +1,9 @@ +#!/usr/bin/osascript + +on run argv + if count of argv is 2 then + display notification (item 2 of argv) with title (item 1 of argv) + else + display notification (item 1 of argv) + end if +end run diff --git a/home/.local/bin/np b/home/.local/bin/np new file mode 100755 index 00000000..b0eb2326 --- /dev/null +++ b/home/.local/bin/np @@ -0,0 +1,7 @@ +#!/usr/bin/osascript + +tell application "Music" + tell current track + get "/me is listening to " & artist & " — " & name + end tell +end tell diff --git a/home/.local/bin/open b/home/.local/bin/open new file mode 100755 index 00000000..9439f07d --- /dev/null +++ b/home/.local/bin/open @@ -0,0 +1,19 @@ +#!/bin/sh +set -eu + +if [ -n "${SSH_CLIENT:-}" ]; then + exec pbd -o "$@" +fi + +case "$1" in + (*.gif|*.jpeg|*.jpg|*.png) + curl -LSs "$1" | imv - + ;; + (https://youtu.be/*|https://www.youtube.com/watch*|https://twitch.tv/*) + ulimit -c 0 # mpv segfaults on exit every time on OpenBSD... + exec mpv "$1" >/dev/null 2>&1 + ;; + (*) + exec firefox -new-tab "$1" >/dev/null 2>&1 + ;; +esac diff --git a/home/.local/bin/pbcopy b/home/.local/bin/pbcopy new file mode 100755 index 00000000..a804f836 --- /dev/null +++ b/home/.local/bin/pbcopy @@ -0,0 +1,11 @@ +#!/bin/sh +set -eu + +if [ -n "${SSH_CLIENT:-}" ]; then + exec pbd -c +elif [ -n "${DISPLAY:-}" ]; then + exec xsel -bi +else + echo "${0}: don't know what to do" >&2 + exit 1 +fi diff --git a/home/.local/bin/pbpaste b/home/.local/bin/pbpaste new file mode 100755 index 00000000..2924f01e --- /dev/null +++ b/home/.local/bin/pbpaste @@ -0,0 +1,11 @@ +#!/bin/sh +set -eu + +if [ -n "${SSH_CLIENT:-}" ]; then + exec pbd -p +elif [ -n "${DISPLAY:-}" ]; then + exec xsel -bo +else + echo "${0}: don't know what to do" >&2 + exit 1 +fi diff --git a/home/.local/bin/versions b/home/.local/bin/versions new file mode 100755 index 00000000..25e5ff72 --- /dev/null +++ b/home/.local/bin/versions @@ -0,0 +1,9 @@ +#!/bin/sh +set -u + +for repo in ~/src/git/*; do + version=$(git -C "${repo}" describe --dirty 2>/dev/null) + if [ $? -eq 0 ]; then + echo "${repo##*/}-${version#v}" + fi +done | sort -nr -t '-' -k 3 | column -t -s '-' diff --git a/home/.local/bin/whinclude b/home/.local/bin/whinclude new file mode 100755 index 00000000..26445cdc --- /dev/null +++ b/home/.local/bin/whinclude @@ -0,0 +1,11 @@ +#!/bin/sh +set -eu + +echo "#include <${1}>" | +cc ${CFLAGS:-} -E -x c - | +sed -En ' + /^# [0-9]+ "[^<]/{ + s/.*"([^"]+)".*/\1/p + q + } +' diff --git a/home/.profile b/home/.profile new file mode 100644 index 00000000..7d4ba822 --- /dev/null +++ b/home/.profile @@ -0,0 +1,28 @@ +_PATH=$PATH PATH= +path() { test -d "$1" && PATH="${PATH}${PATH:+:}${1}"; } +for prefix in '' /usr/local /opt/local /usr ~/.local ~/.cargo; do + path "${prefix}/sbin" + path "${prefix}/bin" +done +path /usr/X11R6/bin +path /usr/games +export MANPATH=:~/.local/share/man + +export EDITOR=vi +command -v nvi >/dev/null && EDITOR=nvi +export EXINIT='set ai extended iclower sm sw=4 ts=4 para=BlBdPpIt sect=ShSs +map gg 1G' +export PAGER=less +export LESS=FRXix4 +export CLICOLOR=1 +export MANSECT=2:3:1:8:6:5:7:4:9 +export NETHACKOPTIONS='pickup_types:$!?+/=, color, DECgraphics' +command -v diff-highlight >/dev/null && +export GIT_PAGER="diff-highlight | $PAGER" + +test -e /usr/share/mk/sys.mk || export CFLAGS=-O +test -d /usr/home && cd + +test -f ~/.profile.local && . ~/.profile.local + +export ENV=~/.shrc diff --git a/home/.shrc b/home/.shrc new file mode 100644 index 00000000..afa87fe5 --- /dev/null +++ b/home/.shrc @@ -0,0 +1,54 @@ +set -o noclobber -o nounset -o vi + +CDPATH=:~ + +alias vi=$EDITOR +alias ls='LC_COLLATE=C ls -p' +alias ll='ls -hl' +alias ff='find . -type f -name' +alias bc='bc -l' +alias ag='ag --pager=$PAGER' +alias gs='git status --short --branch || ls' gd='git diff' +alias gsh='git show' gl='git log --graph --pretty=log' +alias gco='git checkout' gb='git branch' gm='git merge' gst='git stash' +alias ga='git add' gmv='git mv' grm='git rm' +alias gc='git commit' gca='gc --amend' gt='git tag' +alias gp='git push' gu='git pull' gf='git fetch' +alias gr='git rebase' grc='git rebase --continue' +alias rand='openssl rand -base64 33' +alias private='eval "$(gpg -d ~/.private)"' +command -v doas >/dev/null || alias doas=sudo + +man() { + test $# -ne 1 && { command man "$@"; return $?; } + (IFS=: + for sect in $MANSECT; do + command man -w $sect "$1" >/dev/null 2>&1 && exec man $sect "$1" + done + exec command man "$1") +} + +cd() { + local path + if [ $# -eq 0 ]; then + command cd + elif [ "${1%%:*}" != "$1" ]; then + path=${1#*:} + [ -n "${path}" ] || path=${PWD#${HOME}/} + SSH_CD=$path ssh -o SendEnv=SSH_CD "${1%%:*}" + elif [ -e "$1" -a ! -d "$1" ]; then + command cd "${1%/*}" && $EDITOR "${1##*/}" + else + command cd "$@" + fi +} +if [ -n "${SSH_CD:-}" ]; then + cd "${SSH_CD}" + unset SSH_CD +fi + +export LESS_TERMCAP_us=$(tput sitm) +export LESS_TERMCAP_ue=$(tput ritm) + +PS1='\[\033]0;${SSH_CLIENT:+\\h:}\W\a\] +${?#0}$ ' diff --git a/home/.ssh/config b/home/.ssh/config new file mode 100644 index 00000000..f579ae9f --- /dev/null +++ b/home/.ssh/config @@ -0,0 +1,17 @@ +IgnoreUnknown Include +Include config_private + +AddKeysToAgent yes +SendEnv LANG LC_* + +Host tuesday beastie puffy toaster tux progynova + HostName %h.local + ForwardAgent yes + RemoteForward 7062 127.0.0.1:7062 + +Host scout soldier pyro demo heavy engi medic sniper spy + HostName %h.causal.agency + Port 2222 + +Host git.causal.agency temp.causal.agency + Port 2222 diff --git a/home/.xsession b/home/.xsession new file mode 100644 index 00000000..1e05126c --- /dev/null +++ b/home/.xsession @@ -0,0 +1,14 @@ +. ~/.profile +export LC_CTYPE=en_US.UTF-8 + +xset r rate 175 m 5/4 0 +xmodmap ~/.config/X/modmap +xrdb -load ~/.config/X/resources + +fg=998D6B +command -v scheme && fg=$(scheme -p $(jot -r 1 1 8)) +xsetroot -bitmap /usr/X11R6/include/X11/bitmaps/escherknot \ + -bg '#14130E' -fg "#${fg}" + +xterm -name clock -geometry 14x1-0+0 -sl 0 -e clock & +exec cwm -c ~/.config/cwm/cwmrc |