diff --git a/README.md b/README.md index 34f6c88..58c6084 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ Dotfiles ======== -This is my collection of dotfiles, preserved here for all to see and enjoy. -Feel free to copy anything you see here. It would be nice if you added a -comment mentioning where you got it. +This is my collection of dotfiles, preserved here for all to see and enjoy. Feel +free to copy anything you see here. It would be nice if you added a comment +mentioning where you got it. My environment relies on `zsh`, `vim`, and `git`. @@ -12,42 +12,33 @@ My environment relies on `zsh`, `vim`, and `git`. Clone the repository to a directory on your machine. I like to use `~/.dotfiles`. - git clone https://github.com/erynofwales/dotfiles.git ~/.dotfiles +```sh +git clone https://github.com/erynofwales/dotfiles.git ~/.dotfiles +``` Run the setup script. - cd ~/.dotfiles - ./setup.sh +```sh +cd ~/.dotfiles +./setup.sh +``` This script will symlink all the config files in the directory to your home directory, clone a bunch of git repos, and do some other miscellaneous setup. Enjoy. -## Shell Environment +## Profiling -As much as possible, I tried to keep these files as system agnostic as -possible. I work on lots of different systems so having the ability to bring -down my core environment and customize it is very useful. Most of the -environment files have three levels: +ZSH has a built in profiler. If you're concerned about init times, place the +following at the top of `.zshenv`. -1. The main file (e.g. `.zshrc`). -2. A system specific file whose name is generated by the `uname -s` command. - So, these files have names like `.zshrc.darwin` and `.env.linux`. The system - name is exported as `$SYS` in the `.env` script. -3. A machine specific file whose name is derived by appending `.local` to the - main file's name (e.g. `.zshrc.local`). +```zsh +zmodload zsh/zprof +``` -Files 2 and 3 are sourced at the end of the main file, so any settings you add -there will override those set in the main file. - -## Loud Noises! - -In a recent change I added some extra functions to print out status -messages as ZSH starts up. These are all defined in `shell-functions` -(symlinked to `~/.shell-functions` by the setup script). At any point in the -setup process, you can set the variable `$NOISY` to a number greater than 0 to -see extra status messages. +Then, at the end of either `.zshrc` or `.zprofile`, call `zprof` to get the +results of the profiling session. ## License