- Profile
- What's in the Box?
- Installation
- Update
- Why not Oh-My-Zsh, Zim or Something else?
- Can I Use This Repository to Configure My Own Zsh?
- Does it Work with Bash and Other Shells Too?
This repository is used to manage and maintain my personal Zsh configuration preferences easily and across multiple environment. It is not designed to be generic and open, but it is mostly very simple and can be used as a reference for those who prefer to configure their own shell environment.
- common directory structures
- common environment variables
- aliases and shell functions
- utility scripts (added to
PATH
) - zsh plugins (see: zsh-plugins)
- essential key bindings
- zsh theme (see: zsh-theme)
- zsh completion configuration
git clone git@github.com:sha1n/profile.git
git -C profile submodule update --init
profile/install.sh
The installation script does two things:
- Creates links for each file in the
dotfiles
directory in the user's home directory. This takes care of.vimrc
,.gitconfig
and others.- If a dot file with the same name already exists, skips
source
theload.zsh
file from~/.zshrc
.- If the file doesn't exist, it creates it
- If
~/.zshrc
exists and a file namedload.zsh
is already sourced from it, aborts
Since all external plugins are sourced as git submodules, updating everything that's included in this setup is as simple as pulling the repository recursively. To make this even easier, an alias named update_profile
is registered to take care of that with a single command.
update_profile
I've been using Oh-My-Zsh happily for many years and I could continue using it forever. I created this repository for several reasons.
- I realized that Oh-My-Zsh is basically a bunch of scripts that glue things together
- I realized that Oh-My-Zsh sometimes makes configuration decisions that are either not necessary or not to my liking
- Given 1 & 2, I realized that I can easily build something that does what I need and even takes me a step further, so that I don't have to make any manual adjustments after I install it
- Finally, I use this a lot to configure dev VM boxes, so it saves me a lot of time
With all that said, I still love, appreciate and recommend Oh-My-Zsh to most people. I haven't tried Zim yet, but it definitely looks good. So if you are not into fiddling with that kind of configuration be sure to check them out if you haven't done so yet.
You can, but you probably want to make some adjustments to make it your own. I would recommend to fork the repo and review the configuration, although it is very easy to make adjustments evern after installing, because it's all very very simple and magic free.
Pay extra attention to:
No, it is designed to work only with Zsh. Tested extensively on macOS with zsh
versions:
- 5.7.1
- 5.8.1
- 5.9