]> git.sev.monster Git - dotfiles.git/commitdiff
Merge branch 'master' of home:git/dotfiles
authords6 <git@ds6.pw>
Thu, 12 Apr 2018 04:35:33 +0000 (23:35 -0500)
committersev <git@sev.monster>
Fri, 5 Apr 2024 21:27:28 +0000 (16:27 -0500)
extrapolated some bsd-only stuff

base/.xinitrc [changed mode: 0755->0644]
base/.zshenv
base/.zshrc
bin/lck [moved from bin/l with 77% similarity]
install.sh
share/lck/overlay.png [moved from share/l/overlay.png with 100% similarity]
src/lck/share/overlay.xcf [moved from src/share/l/overlay.xcf with 100% similarity]

old mode 100755 (executable)
new mode 100644 (file)
index 09faa1d343fc9361262c096f79285508b69409cb..3a577ad275c84cd53f41b1e729cc70afbf0798ab 100644 (file)
@@ -1,7 +1,3 @@
-if [ -f ~/.zshenv.local ]; then
-       source ~/.zshenv.local
-fi
-
 export EDITOR=vim
 export XDG_CONFIG_HOME=~/etc
 export XDG_CONFIG_DIRS=~/.config:/etc/xdg
@@ -15,3 +11,7 @@ export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46
 export GREP_OPTIONS=--color=auto
 
 export PYTHONSTARTUP=~/.pythonrc
+
+if [[ -f ~/.zshenv.local ]]; then
+       source ~/.zshenv.local
+fi
index 228588972499dff50d3d926b5f517afb4787fe5e..0fee29708b15616d3523f50c6d373d19489ebdfa 100644 (file)
@@ -1,72 +1,73 @@
-## options
+### options
 setopt autocd extendedglob
 unsetopt beep
 
-## history
+### path
+# typeset -U makes every array entry unique; /usr/{pkg,local} are bsdisms
+typeset -U path
+path=({~/,/,/usr/}sbin {~/,/,/usr/}bin /usr/pkg/{s,}bin /usr/X11R{7,6}/bin
+      /usr/local/{s,}bin $path)
+
+### history
 setopt appendhistory
 HISTFILE=~/.histfile
 HISTSIZE=100
 SAVEHIST=100
 
-## keys
+### keys
 bindkey -v
 KEYTIMEOUT=1
-# xorg
+## xorg
 bindkey    "^[[7~" beginning-of-line #Home
 bindkey -a "^[[7~" beginning-of-line
 bindkey    "^[[8~" end-of-line       #End
 bindkey -a "^[[8~" end-of-line
 bindkey    "^[[3~" delete-char       #Del
 bindkey -a "^[[3~" delete-char
-# bsd vt
-bindkey    "^[[H" beginning-of-line  #Home
-bindkey -a "^[[H" beginning-of-line
-bindkey    "^[[F" end-of-line        #End
-bindkey -a "^[[F" end-of-line
-
+## history search
 autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
 zle -N up-line-or-beginning-search
 zle -N down-line-or-beginning-search
 [[ -n "$key[Up]"   ]] && bindkey -- "$key[Up]"   up-line-or-beginning-search
 [[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
 
-## aliases
+### aliases
 alias h="history -25"
 alias j="jobs -l"
 alias l="ls -AF"
 alias ll="ls -lAFho"
-# ps
+## ps
 local p="ps -aSdxwwouser=USR -ogroup=GRP -opid,nice=N \
          -o%cpu,%mem,tt,stat,start=START -oetime,command | ${PAGER:-more} -Se"
 alias pa="$p"
 alias spa="sudo $p"
 unset p
-# sound source
-function s { sysctl hw.snd.default_unit${1:+\=$1} }
-# py venv
+## py venv
 alias va="source bin/activate"
 alias vd="deactivate"
-# be paranoid
+## be paranoid
 alias cp='cp -ip'
 alias mv='mv -i'
-alias rm='rm -I'
-# ports
-function portpkg {
-    case "$1" {
-        build|run)
-            sudo pkg install -AU $(make ${1}-depends-list |
-                                   sed 's_/usr/ports/_ _' | tr -d '\n')
-            ;;
-        *)  echo "Usage: \`portpkg <build|run>' in a port directory"
-            return 1;;
-    }
+if [[ "$OSTYPE" = "freebsd" ]] {
+    # don't confirm if only a few files are deleted
+    alias rm='rm -I'
+} else {
+    alias rm='rm -i'
 }
 
-## prompt
+### prompt
 setopt prompt_subst
-PROMPT='%F{$VICOL}%n%f@%F{$VICOL}%2m%f%(?../%F{red}$?%f)%# '
-RPROMPT='%F{yellow}${vcs_info_msg_0_:-%~}%f %T'
+local f
+if [[ "$TERM" = "wsvt25" ]] {
+    # fix for wscons
+    f="%F{white}"
+} else {
+    f="%f"
+}
+PROMPT='%F{$VICOL}%n'"$f"'@%F{$VICOL}%2m'"$f"'%(?../%F{red}$?'"$f"')%# '
+RPROMPT='%F{yellow}${vcs_info_msg_0_:-%~}'"$f"' %T'
 
+## change color based on zle vi mode
 function zle-line-init zle-keymap-select {
     VICOL="${${KEYMAP:/vicmd/red}:/(main|viins)/green}"
     zle reset-prompt
@@ -74,21 +75,24 @@ function zle-line-init zle-keymap-select {
 zle -N zle-line-init
 zle -N zle-keymap-select
 
+## vcs
 autoload -Uz vcs_info
 zstyle ':vcs_info:*' enable git
-zstyle ':vcs_info:git*' formats       "%c%u%%F{green}%r/%b%%f/%%F{yellow}%S%%f"
-zstyle ':vcs_info:git*' actionformats "%%F{red}(%a)%%f %c%u%%F{green}%r/%b%%f/\
-%%F{yellow}%S%%f"
+zstyle ':vcs_info:git*' formats       '%c%u%%F{green}%r/%b%%F{white}/%%F{yellow}%S%'"$f"
+zstyle ':vcs_info:git*' actionformats '%%F{red}(%a)'"$f"' %c%u%%F{green}%r/%b'"$f"'/%%F{yellow}%S'"$f"
 #zstyle ':vcs_info:git*' check-for-changes true #too slow
 zstyle ':vcs_info:git*:.dotfiles' check-for-changes true
 zstyle ':vcs_info:git*' check-for-staged-changes true
 zstyle ':vcs_info:git*' stagedstr   "%F{blue}+"
 zstyle ':vcs_info:git*' unstagedstr "%F{red}*"
 
-# hooks
+unset f
+
+### hooks
+local _exectime
 function precmd {
     # change terminal title
-    print -Pn "\e]0;%(1j,%j,)%#${SSH_CLIENT+$USER@$HOST:}%~\a"
+    print -Pn "\e]2;%(1j,%j,)%#${SSH_CLIENT+$USER@$HOST:}%~\e\\"
     # update vcs
     vcs_info
     # bell if exec takes 5s
@@ -96,7 +100,7 @@ function precmd {
 }
 function preexec {
     # change terminal title to show command
-    print -Pnf "\e]0;%s\a" "%#${SSH_CLIENT+$USER@$HOST:}$1"
+    print -Pnf "\e]2;%s\e\\" "%#${SSH_CLIENT+$USER@$HOST:}$1"
     # save last exec time for bell
     _exectime=$SECONDS
 }
@@ -104,6 +108,30 @@ function chpwd {
     l
 }
 
+### freebsd-specific
+if [[ "$OSTYPE" = "freebsd" ]] {
+    ## vt binds
+    bindkey    "^[[H" beginning-of-line  #Home
+    bindkey -a "^[[H" beginning-of-line
+    bindkey    "^[[F" end-of-line        #End
+    bindkey -a "^[[F" end-of-line
+
+    ## oss sound source
+    function s { sysctl hw.snd.default_unit${1:+\=$1} }
+
+    ## install port dependencies from pkg (like pkgsrc `bmake bin-install')
+    function portpkg {
+        case "$1" {
+        build|run)
+            sudo pkg install -AU $(make ${1}-depends-list |
+                       sed 's_/usr/ports/_ _' | tr -d '\n')
+            ;;
+        *)  echo "Usage: \`portpkg <build|run>' in a port directory"
+            return 1;;
+        }
+    }
+}
+
 # The following lines were added by compinstall
 zstyle ':completion:*' auto-description 'specify: %d'
 zstyle ':completion:*' expand suffix
diff --git a/bin/l b/bin/lck
similarity index 77%
rename from bin/l
rename to bin/lck
index f7e2d3d490b2959f3e5f575839d7899616aad710..172e813b27273620433ab584e5a6ea5d8a40fa01 100755 (executable)
--- a/bin/l
+++ b/bin/lck
@@ -2,7 +2,11 @@
 
 # term lock
 if [ -z "$DISPLAY" ]; then
-       lock -npv
+       if [ "$OSTYPE" = "freebsd" ]; then
+               lock -npv
+       else
+               lock -np
+       fi
        exit
 fi
 
@@ -10,14 +14,14 @@ fi
 img=~/tmp/lock.png
 if [ -f "$img" ]; then
        # rudimentary attempt to prevent multiple locks
-       # XXX: could block lock and replace with malicious locker
+       # XXX: could block lock and replace with malicious locker to grab password
        echo "Lock file exists at '$img', exiting"
        exit 1
 fi
 res="$(xdpyinfo | grep dimensions | awk '{print $2}')"
 scale=0.07
 ffmpeg -y -loglevel 0 \
-  -s "$res" -f x11grab -i $DISPLAY -i ~/share/l/overlay.png \
+  -s "$res" -f x11grab -i $DISPLAY -i ~/share/lck/overlay.png \
   -filter_complex "
     [0]
       scale=iw * $scale:ih * $scale,
index d2585a8c38abf1a121d69618a70716ff3a2e77bb..5f2c3d4f0f2052693555da277d1e3d5ec06784d2 100755 (executable)
@@ -2,27 +2,31 @@
 
 # test
 if [ 0 -eq 1 ]; then
-       alias mkdir="echo mkdir"
+       mkdir() { echo -- "$*"; }
        alias ln="echo ln"
        alias rm="echo rm"
        alias cap_mkdb="echo cap_mkdb"
        alias unlink="echo unlink"
 fi
 
-# accomodate linuxisms
+# create preferred folder structure
+cd ~
+mkdir -p bin etc share .urxvt/ext > /dev/null 2>&1
+mkdir -m 700 var/tmp var/tmp/vim > /dev/null 2>&1
+cd -
+
+# accomodate multiple userlands
 fex='-perm -ugo=x'
-# TODO: should probably do this better
-case "`uname`" in
-       *BSD*)  lnargs=-sFhvw
-               d1='-depth 1'
-               bsd=yes;;
-       *)      lnargs=-sfnv
-               d1='-mindepth 1 -maxdepth 1'
-               # android busybox find doesn't have -execute
-               # and its sh doesn't set OSTYPE :DD
-               if [ -z "$ANDROID_ROOT" ]; then
-                       fex=-executable
-               fi;;
+case "$OSTYPE" in
+       # TODO: make links safer for systems without -Fw
+       freebsd)        lnargs=-sFhvw;;
+       netbsd|openbsd) lnargs=-sfhv;;
+       *)              lnargs=-sfnv
+                       # android busybox find doesn't have -executable
+                       # and its sh doesn't set OSTYPE :DD
+                       if [ -z "$ANDROID_ROOT" ]; then
+                               fex=-executable
+                       fi;;
 esac
 
 l() {
@@ -30,22 +34,14 @@ l() {
        [ -L "$1" -o \! -e "$1" ] && ln $lnargs "${2:-$x}" "$1"
 }
 
-
-# create preferred folder structure
-cd ~
-mkdir -p bin etc share var/run var/log urxvt/ext > /dev/null 2>&1
-mkdir -m 700 var/tmp var/tmp/vim > /dev/null 2>&1
-[ -z "$bsd" ] && mkdir -m 700 tmp > /dev/null 2>&1
-cd -
-
 # link files
-find "$PWD/base" $d1 | while read -r x; do
+find "$PWD/base" -mindepth 1 -maxdepth 1 | while read -r x; do
        l "$HOME/`basename "$x"`"
 done
-find bin share $d1 | while read -r x; do
+find bin share -mindepth 1 -maxdepth 1 | while read -r x; do
        l "$HOME/$x" "$PWD/$x"
 done
-find "$PWD/xdg" $d1 | while read -r x; do
+find "$PWD/xdg" -mindepth 1 -maxdepth 1 | while read -r x; do
        l "${XDG_CONFIG_HOME:-$HOME/etc}/`basename "$x"`"
 done
 find "$PWD/urxvt-ext" -type f $fex -mindepth 1 -maxdepth 2 | while read -r x; do
@@ -53,7 +49,7 @@ find "$PWD/urxvt-ext" -type f $fex -mindepth 1 -maxdepth 2 | while read -r x; do
 done
 
 cd ~
-if [ -n "$bsd" ]; then
+if [ "$OSTYPE" = "freebsd" ]; then
        touch .hushlogin
 
        # FreeBSD tries `_secure_path' on `.login_conf' before reading the
@@ -62,8 +58,8 @@ if [ -n "$bsd" ]; then
        rm .login_conf.db
        cap_mkdb .login_conf
 
-       # run .zprofile to set up tmp
-       /usr/local/bin/zsh .zprofile
 fi
 unlink .login_conf
+# run .zprofile to set up tmp
+zsh .zprofile
 cd -
similarity index 100%
rename from share/l/overlay.png
rename to share/lck/overlay.png
This page took 0.069974 seconds and 4 git commands to generate.