summaryrefslogtreecommitdiff
path: root/modules/20-zsh
diff options
context:
space:
mode:
authorGalen Guyer <galen@galenguyer.com>2022-08-21 18:50:48 -0400
committerGalen Guyer <galen@galenguyer.com>2022-08-21 18:50:48 -0400
commitaee6558c2451091b00986749369c2a54be4cebde (patch)
tree74fc694fdb18e333c264fa47a87f4d50bb6c3d50 /modules/20-zsh
parentfef4b59ade496bb127cc0506cd0506636c4e9852 (diff)
Add zshrc
Diffstat (limited to 'modules/20-zsh')
-rw-r--r--modules/20-zsh/install.sh37
-rw-r--r--modules/20-zsh/zshrc142
2 files changed, 179 insertions, 0 deletions
diff --git a/modules/20-zsh/install.sh b/modules/20-zsh/install.sh
new file mode 100644
index 0000000..a4d4587
--- /dev/null
+++ b/modules/20-zsh/install.sh
@@ -0,0 +1,37 @@
+_script="$(realpath ${BASH_SOURCE[0]})"
+_scriptname="$(basename $_script)"
+_scriptdir="$(dirname $_script)"
+_modulename="$(basename $_scriptdir)"
+DOT_MODULE_NAME="i3"
+
+function preinstall() {
+ if ! [[ -x "$(command -v zsh)" ]]; then
+ PACKAGES+=("zsh")
+ fi
+}
+
+function install() {
+ if ! [[ -d "$HOME/.oh-my-zsh" ]]; then
+ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
+ fi
+
+ if ! [[ -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]]; then
+ git clone https://github.com/zsh-users/zsh-autosuggestions.git "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions"
+ else
+ cd "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" && git pull
+ fi
+
+ if ! [[ -d "$HOME/.oh-my-zsh/custom/plugins/zsh-completions" ]]; then
+ git clone https://github.com/zsh-users/zsh-completions.git "$HOME/.oh-my-zsh/custom/plugins/zsh-completions"
+ else
+ cd "$HOME/.oh-my-zsh/custom/plugins/zsh-completions" && git pull
+ fi
+
+ if ! [[ -d "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ]]; then
+ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting"
+ else
+ cd "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" && git pull
+ fi
+
+ ln -f "$_scriptdir/zshrc" "$HOME/.zshrc"
+}
diff --git a/modules/20-zsh/zshrc b/modules/20-zsh/zshrc
new file mode 100644
index 0000000..09a5877
--- /dev/null
+++ b/modules/20-zsh/zshrc
@@ -0,0 +1,142 @@
+# If you come from bash you might have to change your $PATH.
+# export PATH=$HOME/bin:/usr/local/bin:$PATH
+
+# Path to your oh-my-zsh installation.
+export ZSH="$HOME/.oh-my-zsh"
+
+# Set name of the theme to load --- if set to "random", it will
+# load a random theme each time oh-my-zsh is loaded, in which case,
+# to know which specific one was loaded, run: echo $RANDOM_THEME
+# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
+# ZSH_THEME="robbyrussell"
+
+# Set list of themes to pick from when loading at random
+# Setting this variable when ZSH_THEME=random will cause zsh to load
+# a theme from this variable instead of looking in $ZSH/themes/
+# If set to an empty array, this variable will have no effect.
+# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
+
+# Uncomment the following line to use case-sensitive completion.
+# CASE_SENSITIVE="true"
+
+# Uncomment the following line to use hyphen-insensitive completion.
+# Case-sensitive completion must be off. _ and - will be interchangeable.
+# HYPHEN_INSENSITIVE="true"
+
+# Uncomment one of the following lines to change the auto-update behavior
+# zstyle ':omz:update' mode disabled # disable automatic updates
+# zstyle ':omz:update' mode auto # update automatically without asking
+zstyle ':omz:update' mode reminder # just remind me to update when it's time
+
+# Uncomment the following line to change how often to auto-update (in days).
+zstyle ':omz:update' frequency 7
+
+# Uncomment the following line if pasting URLs and other text is messed up.
+# DISABLE_MAGIC_FUNCTIONS="true"
+
+# Uncomment the following line to disable colors in ls.
+# DISABLE_LS_COLORS="true"
+
+# Uncomment the following line to disable auto-setting terminal title.
+# DISABLE_AUTO_TITLE="true"
+
+# Uncomment the following line to enable command auto-correction.
+# ENABLE_CORRECTION="true"
+
+# Uncomment the following line to display red dots whilst waiting for completion.
+# You can also set it to another string to have that shown instead of the default red dots.
+# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
+# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
+ COMPLETION_WAITING_DOTS="true"
+
+# Uncomment the following line if you want to disable marking untracked files
+# under VCS as dirty. This makes repository status check for large repositories
+# much, much faster.
+# DISABLE_UNTRACKED_FILES_DIRTY="true"
+
+# Uncomment the following line if you want to change the command execution time
+# stamp shown in the history command output.
+# You can set one of the optional three formats:
+# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
+# or set a custom format using the strftime function format specifications,
+# see 'man strftime' for details.
+# HIST_STAMPS="mm/dd/yyyy"
+
+# Would you like to use another custom folder than $ZSH/custom?
+# ZSH_CUSTOM=/path/to/new-custom-folder
+
+# Which plugins would you like to load?
+# Standard plugins can be found in $ZSH/plugins/
+# Custom plugins may be added to $ZSH_CUSTOM/plugins/
+# Example format: plugins=(rails git textmate ruby lighthouse)
+# Add wisely, as too many plugins slow down shell startup.
+plugins=(git zsh-autosuggestions zsh-completions zsh-syntax-highlighting)
+autoload -U compinit && compinit
+
+source $ZSH/oh-my-zsh.sh
+
+source $ZSH/oh-my-zsh.sh
+
+# User configuration
+
+# export MANPATH="/usr/local/man:$MANPATH"
+
+# You may need to manually set your language environment
+# export LANG=en_US.UTF-8
+
+# Preferred editor for local and remote sessions
+# if [[ -n $SSH_CONNECTION ]]; then
+# export EDITOR='vim'
+# else
+# export EDITOR='mvim'
+# fi
+
+# Compilation flags
+# export ARCHFLAGS="-arch x86_64"
+
+# Set personal aliases, overriding those provided by oh-my-zsh libs,
+# plugins, and themes. Aliases can be placed here, though oh-my-zsh
+# users are encouraged to define aliases within the ZSH_CUSTOM folder.
+# For a full list of active aliases, run `alias`.
+#
+# Example aliases
+# alias zshconfig="mate ~/.zshrc"
+# alias ohmyzsh="mate ~/.oh-my-zsh"
+
+ZSH_THEME_GIT_PROMPT_PREFIX=" git:("
+ZSH_THEME_GIT_PROMPT_SUFFIX=")"
+
+PROMPT='%{$fg[green]%}%n%{$reset_color%}@%{$FG[033]%}%M%{$reset_color%}:%{$fg[green]%}%~%{$reset_color%}$(git_prompt_info)%(!.#.$) '
+
+export EDITOR=nano
+
+## path fixes
+# cargo (rust)
+if [[ -d "$HOME/.cargo/bin" ]]; then
+ export PATH="$HOME/.cargo/bin:$PATH"
+fi
+
+# acme.sh
+if [[ -f "$HOME/acme.sh/acme.sh.env" ]]; then
+ source "$HOME/.acme.sh/acme.sh.env"
+fi
+
+# pipx
+if [[ -d "$HOME/.local/bin" ]]; then
+ export PATH="$HOME/.local/bin:$PATH"
+fi
+
+# esp32-rs
+if [[ -d "$HOME/.espressif" ]]; then
+ export PATH="$HOME/.espressif/tools/xtensa-esp32-elf-clang/esp-14.0.0-20220415-x86_64-unknown-linux-gnu/bin/:$HOME/.espressif/tools/xtensa-esp32-elf-gcc/8_4_0-esp-2021r2-patch3-x86_64-unknown-linux-gnu/bin/:$PATH"
+ export LIBCLANG_PATH="$HOME/.espressif/tools/xtensa-esp32-elf-clang/esp-14.0.0-20220415-x86_64-unknown-linux-gnu/lib/"
+ export PIP_USER="no"
+fi
+
+if [[ -z "$SSH_AUTH_SOCK" ]]; then
+ eval `ssh-agent` >/dev/null 2>&1
+fi
+
+if [[ -d "$HOME/.deta" ]]; then
+ export PATH="$HOME/.deta/bin:$PATH"
+fi