Enable tracing of the initialization
[zsh.git] / .zsh / README
1 * ZSH configuration "framework"
2
3 This is my zsh configuration. Well, more a framework of it.
4 It is setting quite a lot of defaults, but at the same time
5 tries to be as user configurable as makes sense. So most of the
6 settings should be easy (enough) to adjust.
7
8 ** The boring stuff, license / copyright
9
10 It is hard to say what exact license applies: It consists of a lot of
11 snippets taken from a lot of places all over the net, many of which I
12 don't remember anymore. Also, many of which are probably small enough
13 that no copyright would apply.
14
15 Where I still remember where it is from, I tried to mark them as such,
16 giving credit where its due. If you find something in here thats from
17 you and want to be mentioned, just mail me.
18
19 For stuff that is from me, use the following license terms:
20
21 Copyright (C) 2013, Joerg Jaspert <joerg@ganneff.de>
22
23 Permission is hereby granted, free of charge, to any person obtaining a
24 copy of this software and associated documentation files (the
25 "Software"), to deal in the Software without restriction, including
26 without limitation the rights to use, copy, modify, merge, publish,
27 distribute, sublicense, and/or sell copies of the Software, and to
28 permit persons to whom the Software is furnished to do so, subject to
29 the following conditions:
30
31 The above copyright notice and this permission notice shall be included
32 in all copies or substantial portions of the Software.
33
34 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
35 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
36 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
38 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
39 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
40 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
41 * Usage
42 ** Basics
43 To correctly use this fileset for zsh, you need to understand the
44 order in which things are loaded by zsh.
45
46 Note: Wherever $ZDOTDIR is unset, $HOME is used instead
47
48 - Always
49 1. /etc/zsh/zshenv This is not overridable and not affected by the
50 RCS/GLOBAL_RCS variables explained below!
51 2. $ZDOTDIR/.zshenv
52
53 - If the shell is a *login* shell, it continues with
54 3. /etc/zsh/zprofile
55 4. $ZDOTDIR/.zprofile
56
57 - If the shell is *interactive*, it continues with
58 5. /etc/zsh/zshrc
59 6. $ZDOTDIR/.zshrc
60
61 - If the shell is a *login* shell, it continues with
62 7. /etc/zsh/zlogin
63 8. $ZDOTDIR/zlogin
64
65
66 On logout it is easier: If the shell exits (not due to exec'ing another
67 process, but logout/exit), it reads
68
69 1. $ZDOTDIR/.zlogout
70 2. /etc/zsh/zlogout
71
72 There are 2 variables affecting the above ordering.
73
74 - RCS :: If this is unset, none of the (remaining) startup files
75 are sourced.
76 - GLOBAL_RCS :: If this is unset, none of the startup files in /etc/zsh
77 are sourced.
78
79 Note: These variables do NOT affect /etc/zsh/zshenv, which is
80 ALWAYS read!
81 ** Howto
82 For the impatient:
83 #+BEGIN_SRC shell
84
85 #+END_SRC
86
87 * Sources
88 ** Prompt
89 The prompt i use is based on various others.
90 - The "design" is taken from Phil!'s ZSH prompt, as found on
91 http://aperiodic.net/phil/prompt/
92
93 - The tech using zstyle is inspired by the prompt as used by
94 the grml-live system <http://grml.org>, see
95 http://git.grml.org/?p=grml-etc-core.git;a=summary for details
96 on theirs.
97 A good number of their support functions are also taken, though
98 they got renamed from grml_* to ganneff_* to have a single namespace
99 here. (And to direct flames about the bugs to me... :) )
100
101 - The winch function as seen in the prompt theme "bart", delivered
102 with zsh