]> git.sev.monster Git - dotfiles.git/blobdiff - base/.zshrc
refactor submodules, add xorg, small fixes & changes
[dotfiles.git] / base / .zshrc
index d688d2e22c1dd7d5633f4bb095da5c21062b1eba..2dd25ff460a284c708a9b6767d9f7cbf921c7062 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" = "wsvt25" || "$TERM" =~ '^vt' ) ]] {
     # fix for wscons
     f="%F{white}"
 } else {
@@ -66,7 +60,6 @@ if [[ "$TERM" = "wsvt25" ]] {
 }
 PROMPT='%F{$VICOL}%n'"$f"'@%F{$VICOL}%2m'"$f"'%(?../%F{red}$?'"$f"')%# '
 RPROMPT='%F{yellow}${vcs_info_msg_0_:-%~}'"$f"' %T'
-unset f
 
 ## change color based on zle vi mode
 function zle-line-init zle-keymap-select {
@@ -79,16 +72,18 @@ 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{white}/%%F{yellow}%S%%f"
-zstyle ':vcs_info:git*' actionformats "%%F{red}(%a)$p %c%u%%F{green}%r/%b$p/%%F{yellow}%S$p"
+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}*"
 
+unset f
+
 ### hooks
-local _exectime
+local _exectime=
 function precmd {
     # change terminal title
     print -Pn "\e]2;%(1j,%j,)%#${SSH_CLIENT+$USER@$HOST:}%~\e\\"
@@ -107,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.05167 seconds and 4 git commands to generate.