summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rwxr-xr-x.local/bin/xdg-open13
-rw-r--r--.zprofile8
-rw-r--r--.zshenv (renamed from .profile)1
-rw-r--r--.zshrc22
5 files changed, 43 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..72e8ffc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*
diff --git a/.local/bin/xdg-open b/.local/bin/xdg-open
new file mode 100755
index 0000000..a1d6842
--- /dev/null
+++ b/.local/bin/xdg-open
@@ -0,0 +1,13 @@
+#!/bin/sh
+# Courtesy of https://drewdevault.com/2019/12/30/dotfiles.html
+case "${1%%:*}" in
+ http|https|*.pdf)
+ exec qutebrowser "$1"
+ ;;
+ mailto)
+ exec aerc "$1"
+ ;;
+ *)
+ exec /usr/bin/xdg-open "$@"
+ ;;
+esa
diff --git a/.zprofile b/.zprofile
new file mode 100644
index 0000000..8b2ae28
--- /dev/null
+++ b/.zprofile
@@ -0,0 +1,8 @@
+# .zprofile is loaded on login shells, e.g. when doing ssh.
+# or running with --shell flag.
+
+## Read bash profile if present.
+# emulate sh -c '. ~/.profile'
+
+# Clone oh-my-zsh of not present.
+[[ ! -e .oh-my-zsh ]] && git clone https://github.com/ohmyzsh/ohmyzsh .oh-my-zsh
diff --git a/.profile b/.zshenv
index 38c74f0..d9c6ec4 100644
--- a/.profile
+++ b/.zshenv
@@ -9,6 +9,7 @@ export PATH=$HOME/.local/bin:$PATH
# Other bin directories
export PATH=$HOME/.local/bin/`hostname`:$PATH
+export PATH=$HOME/.local/bin/`uname -m`:$PATH
export PATH=$HOME/.cargo/bin:$PATH
export PATH=$HOME/.yarn/bin:$PATH
diff --git a/.zshrc b/.zshrc
index 8446c99..7624b34 100644
--- a/.zshrc
+++ b/.zshrc
@@ -5,7 +5,7 @@ else
export ZSH="/usr/share/oh-my-zsh"
fi
-# simple, frisk, mrtazz, lambda, maran, robbyrussel, random
+# simple, arrow, edvardm, random
ZSH_THEME=simple
# Uncomment the following line to use case-sensitive completion.
@@ -21,6 +21,7 @@ plugins=(git autojump history-substring-search)# timer gem rust cargo)
# Activate oh-my-zsh
source $ZSH/oh-my-zsh.sh
+# Add direnv hook
_direnv_hook() {
eval "$("/usr/bin/direnv" export zsh)";
}
@@ -33,11 +34,12 @@ fi
#export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
#[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
+# Enable kubectl completion if present
if [[ -a `which kubectl` ]]; then
source <(kubectl completion zsh 2> /dev/null);
fi
-# For X.org
+# Add X.org keyboard mapping (of no use on Wayland)
#setxkbmap \
# -layout de,ir \
# -variant nodeadkeys,pes_keypad \
@@ -47,3 +49,19 @@ fi
# -option 'lv3:caps_switch' \
# -option 'terminate:ctrl_alt_bkspc' \
# -option 'eurosign:e'
+
+# Aliases
+# `githome` alias is a trick to avoid having git prompt when working
+# in different directories of my home folder. I simply rename `.git`
+# folder to `.githome` and use the following alias to interact with it.
+# On new systems I only need to do the following:
+# cd ~
+# git init
+# git remote add origin git@git.sr.ht:~mehdix/dotfiles
+# or
+# git remote add origin https://git.sr.ht/~mehdix/dotfiles
+# git fetch
+# git checkout -f master
+# mv .git .githome
+alias githome='git --git-dir ~/.githome --work-tree ~'
+