diff --git a/salty/base/top.sls b/salty/base/top.sls index 35873d0..f8f346f 100644 --- a/salty/base/top.sls +++ b/salty/base/top.sls @@ -2,3 +2,4 @@ base: '*': - git - spacemacs + - zsh diff --git a/salty/base/zsh/files/zshconfig b/salty/base/zsh/files/zshconfig new file mode 100644 index 0000000..75ddd78 --- /dev/null +++ b/salty/base/zsh/files/zshconfig @@ -0,0 +1,93 @@ +# If you come from bash you might have to change your $PATH. +export PATH=$HOME/bin:/usr/local/bin:/usr/local/sbin:$PATH + +# Path to your oh-my-zsh installation. +export ZSH={{ grains.homedir }}/.oh-my-zsh + +# Set name of the theme to load. Optionally, if you set this to "random" +# it'll load a random theme each time that oh-my-zsh is loaded. +# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes +ZSH_THEME="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 the following line to disable bi-weekly auto-update checks. +# DISABLE_AUTO_UPDATE="true" + +# Uncomment the following line to change how often to auto-update (in days). +export UPDATE_ZSH_DAYS=7 + +# 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. +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. +# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +HIST_STAMPS="yyyy-mm-dd" + +# 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? (plugins can be found in ~/.oh-my-zsh/plugins/*) +# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=(gitignore osx brew python knife kitchen aws zsh_reload) + +source $ZSH/oh-my-zsh.sh + +# Source bashrc +source $HOME/.bashrc + +# 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='emacs' +else + export EDITOR='emacs' +fi + +# Compilation flags +# export ARCHFLAGS="-arch x86_64" + +# ssh +# export SSH_KEY_PATH="~/.ssh/dsa_id" +export SSH_KEY_PATH="~/.ssh/id_rsa" + +# Fix the auto-correct of commands that have a dotfile +unsetopt correct_all +setopt correct + +# 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" diff --git a/salty/base/zsh/init.sls b/salty/base/zsh/init.sls new file mode 100644 index 0000000..b4cccfc --- /dev/null +++ b/salty/base/zsh/init.sls @@ -0,0 +1,37 @@ +zsh: + pkg.installed: + - name: zsh + +zsh-syntax-highlighting: + pkg.installed: + - name: zsh-syntax-highlighting + +{% if grains['kernel'] == 'Darwin' %} +zsh-completions: + pkg.installed: + - name: zsh-completions + +zsh-history-substring-search: + pkg.installed: + - name: zsh-history-substring-search +{% endif %} + +oh-my-zshell: + git.latest: + - name: https://github.com/robbyrussell/oh-my-zsh.git + - target: {{ grains.homedir }}/.oh-my-zshell + - user: {{ grains.user }} + +{{ grains.user }}: + user.present: + - shell: /bin/zsh + + +zsh-config: + file.managed: + - name: {{ grains.homedir }}/.zshrc + - source: salt:///zsh/files/zshconfig + - user: {{ grains.user }} + - group: {{ grains.user }} + - template: jinja + - force: True \ No newline at end of file