summaryrefslogtreecommitdiff
path: root/.zsh/zshfunctions
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2009-10-07 17:05:19 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2009-10-07 17:05:19 +0200
commitdd5427baaf49f8de4355abeb6bc8c6dd14f74e25 (patch)
tree46fcfc70bd792e80ceebaab89a7f8fc06bc29101 /.zsh/zshfunctions
downloaddotfiles-dd5427baaf49f8de4355abeb6bc8c6dd14f74e25.tar.gz
dotfiles-dd5427baaf49f8de4355abeb6bc8c6dd14f74e25.tar.bz2
dotfiles-dd5427baaf49f8de4355abeb6bc8c6dd14f74e25.zip
Initial check-in of files
Diffstat (limited to '.zsh/zshfunctions')
-rw-r--r--.zsh/zshfunctions53
1 files changed, 53 insertions, 0 deletions
diff --git a/.zsh/zshfunctions b/.zsh/zshfunctions
new file mode 100644
index 0000000..118e74d
--- /dev/null
+++ b/.zsh/zshfunctions
@@ -0,0 +1,53 @@
+# Nice mappings to restart/... the services
+Start Stop Reload Restart ()
+{
+ [[ $UID != 0 ]] && SUDO="sudo"
+ $SUDO /etc/init.d/$1 ${0:l}
+}
+
+# Change to the directory of a specific package
+cdu ()
+{
+ local cp
+
+ [[ -n $1 ]] && cp=$(eix -e $1 --format "<category>/<name>" 2>/dev/null | head -n1)
+
+ cd /usr/portage/${cp}
+}
+
+# Open the ebuild with a specified command
+open_ebuild ()
+{
+ local ebuild=$(equery w $2 2> /dev/null)
+
+ if [[ -z $ebuild ]]; then
+ echo "Trying masked packages too..."
+ ebuild=$(equery w -m $2 2> /dev/null)
+ fi
+
+ if [[ -n $ebuild ]]; then
+ $1 $ebuild
+ else
+ echo "No ebuild found"
+ fi
+}
+
+if [[ $UID == 0 ]]; then
+
+ # unpack a package
+ unpack()
+ {
+ ebuild $(equery w -m $1) clean unpack
+ }
+
+ # set job count to 1 if there is only one package to install
+ emerge()
+ {
+ local e=$(whence -p emerge)
+ if [[ $# < 3 ]]; then
+ $e --jobs=1 $@
+ else
+ $e $@
+ fi
+ }
+fi