Skip to content

Commit

Permalink
docs(readme): Update for Zsh configuration file break up
Browse files Browse the repository at this point in the history
  • Loading branch information
Derek Michael Frank authored and lgo committed Jan 7, 2018
1 parent 426a226 commit 59d96c2
Showing 1 changed file with 37 additions and 9 deletions.
46 changes: 37 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,43 @@ There's a few special files in the hierarchy.

- **bin/**: Anything in `bin/` will get added to your `$PATH` and be made
available everywhere.
- **Brewfile**: This is a list of applications for [Homebrew Cask](https://caskroom.github.io) to install: things like Chrome and 1Password and Adium and stuff. Might want to edit this file before running any initial setup.
- **topic/\*.zsh**: Any files ending in `.zsh` get loaded into your
environment.
- **topic/path.zsh**: Any file named `path.zsh` is loaded first and is
expected to setup `$PATH` or similar.
- **topic/completion.zsh**: Any file named `completion.zsh` is loaded
last and is expected to setup autocomplete.
- **topic/install.sh**: Any file named `install.sh` is executed when you run `script/install`. To avoid being loaded automatically, its extension is `.sh`, not `.zsh`.
- **topic/\*.symlink**: Any file ending in `*.symlink` gets symlinked into
- **Brewfile**: This is a list of applications for
[Homebrew Cask](http://caskroom.io) to install: things like Chrome and
1Password and Adium and stuff. Might want to edit this file before
running any initial setup.
- **topic/\*.zsh**: configuration files
- Environment configuration (i.e., `.zshenv`)
- **topic/\*path.zsh**: Any file ending with `path.zsh` (except
those ending with `fpath.zsh`) is loaded first and is expected
to setup `$PATH` or similar.
- **topic/\*env.zsh**: Any file ending with `env.zsh` is loaded
second and is expected to setup any additional environment
(e.g., shell options).
- Interactive configuration (i.e., `.zshrc`)
- **topic/\*fpath.zsh**: Any file ending with `fpath.zsh` is
loaded for interactive shells only. They are expected to
populate `$fpath`.
- **topic/\*.zsh**: Any files ending in `.zsh` (except those
specified elsewhere) are loaded for interactive shells only.
Interactive configuration can include aliases, color output,
prompt configuration, or anything else that should only be
loaded when a user is interacting with Zsh.
- **topic/\*completion.zsh**: Any file ending with
`completion.zsh` is loaded last for interactive shells only.
They are expected to setup autocomplete.
- Login configuration (i.e., `.zprofile`, `.zlogin`, `.zlogout`)
- **topic/\*profile.zsh**: Any file ending with `profile.zsh` is
loaded for login shells only. Unlike `.zlogin`, these files
are loaded before the interactive files above are loaded.
- **topic/\*login.zsh**: Any file ending in `login.zsh` is
loaded for login shells only. Unlike `.zprofile`, they are
loaded after your interactive files are loaded above. This is
the ideal place to put anything you want to see when you start
up a new login shell (e.g., cowsay, date, todo, fortune).
- **topic/\*logout.zsh**: Any file ending in `logout.zsh` is
loaded for login shells only and only when you exit/logout the
shell.
- **topic/\*.symlink**: Any files ending in `*.symlink` get symlinked into
your `$HOME`. This is so you can keep all of those versioned in your dotfiles
but still keep those autoloaded files in your home directory. These get
symlinked in when you run `script/bootstrap`.
Expand Down

0 comments on commit 59d96c2

Please sign in to comment.