]> git.sev.monster Git - dotfiles.git/blobdiff - base/.zshrc
always kludge wscons, ignore fontconig .uuid
[dotfiles.git] / base / .zshrc
index 0fee29708b15616d3523f50c6d373d19489ebdfa..3fdaa0d419152e350c33277e4ad04db7baff5836 100644 (file)
@@ -2,12 +2,6 @@
 setopt autocd extendedglob
 unsetopt beep
 
-### 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
@@ -48,7 +42,7 @@ alias vd="deactivate"
 ## be paranoid
 alias cp='cp -ip'
 alias mv='mv -i'
-if [[ "$OSTYPE" = "freebsd" ]] {
+if [[ "$OSTYPE" =~ '^freebsd' ]] {
     # don't confirm if only a few files are deleted
     alias rm='rm -I'
 } else {
@@ -57,8 +51,8 @@ if [[ "$OSTYPE" = "freebsd" ]] {
 
 ### prompt
 setopt prompt_subst
-local f
-if [[ "$TERM" = "wsvt25" ]] {
+local f=
+if [[ "$OSTYPE" = "netbsd" && ( "$TERM" =~ "^wsvt" || "$TERM" =~ '^vt' ) ]] {
     # fix for wscons
     f="%F{white}"
 } else {
@@ -89,7 +83,7 @@ zstyle ':vcs_info:git*' unstagedstr "%F{red}*"
 unset f
 
 ### hooks
-local _exectime
+local _exectime=
 function precmd {
     # change terminal title
     print -Pn "\e]2;%(1j,%j,)%#${SSH_CLIENT+$USER@$HOST:}%~\e\\"
@@ -108,29 +102,54 @@ 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
+### system-specific configs and aliases
+case "$OSTYPE"; in
+    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} }
+        ## sound
+        function s { sysctl hw.snd.default_unit${1:+\=$1} }
+        alias vol mixer
 
-    ## 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;;
+        ## install port dependencies from pkg (like pkgsrc `bmake bin-install')
+        #XXX: should probably use package-depends where possible, breaks when
+        #     port name is different to package name
+        #     (eg. graphics/sdl20 == sdl2, devel/glib20 == glib2, etc)
+        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;;
+            }
+        };;
+    netbsd)
+        ## sound
+        function s {
+            if [[ -z "$1" ]] {
+                ll /dev/mixer /dev/sound /dev/audio
+                return
+            }
+            for x in mixer sound audio; do
+                ln -sf /dev/$x"$1" /dev/$x
+            done
         }
-    }
-}
+        function vol {
+            if [[ -z "$1" ]] {
+                for x in $(mixerctl -a | grep 'outputs\.master'); do
+                    echo $x
+                done
+                return
+            }
+            mixerctl -w outputs.master"$2"="$1"
+        };;
+esac
 
 # The following lines were added by compinstall
 zstyle ':completion:*' auto-description 'specify: %d'
This page took 0.033157 seconds and 4 git commands to generate.