=head1 NAME ~/.config/caretaker/caretaker.conf - L(1) configuration =head1 DESCRIPTION Contains configuration parameters for L(1) The file consists of multiple lines of the form I=I. Normal zsh syntax is allowed, which means everything after '#' will be treated as comment and that there must be no space between the parameter and the content. With the exception of B, all parameters are optional as they have reasonable (so I hope) defaults. =head1 OPTIONS The text in (braces) refers to the ct commandline option with which the config setting may be overridden (if present). The text in [these braces] is the default value. =over =item B=(I I I<...>) (--packageroot I) the package root paths, at least one must be set. I may either be of the form C or C, the supported protocols are C and C. Note that pushing is not possible when the C protocol is used. =item B=I [$PKG_PATH/pkglist] path to pkglist on the package root, to generate the package list. In the default, $PKG_PATH means the path component of $PKG_ROOT. =item B=I [0] If true, B will always be executed on the local machine, regardless of where the B lies. For possible uses of this setting, see L =item B=I (--packagedir I) [$HOME/packages] path for the local package tree =item B=(I) (--checklinks-options I) [-q] Options to invoke L(1) with =item B=I (--magic-etc) [1] Automatically run checklinks on files (or, if present, dotfiles) in F =item B=I (--colours) [1] Colorize the output (cyan for info messages, red for errors/warnings) =item B=I (--progress) [1] Show a progress bar when performing tasks on all packages =item B=I (--quiet) [0] Operate in silent mode. If B<1>, it also sets PROGRESS=0 =item B=I (--auto-update) [1] If 1, automatically execute 'ct update' before 'ct push' and 'ct update remote' before 'ct upgrade' =item B=I [1] By default, caretaker will simply issue a git push/pull, so that git will use the repository's origin to determine where to push/pull. If you regularly change your PKG_ROOT, are too lazy to properly configure your git repos or whatever, set this to 0. Then, caretaker will always call git pull/push with both the remote repo and the branch as arguments. =item BI {I} Define the global hook I, its I will be executed together with caretaker's global hooks; the name of the package for which the hook is being executed will be given as first parameter and is accessible throug B<$1>. The hook is just a zsh function, so you can use any valid syntax you want, including newlines. See zsh(1) for more. Valid I names are: post-add, pre-update, post-update, pre-remove. Note that post-add automatically executes post-update. Example: function pkg_hook_post-update {clear_line; echo "Hello from package $1!"} =back =head2 COLOURS Colours are defined in the same way as options. They take an ANSI escape code as argument. =over =item B=I (C<$'\e[0;36m'>) Colour for informational messages (default: cyan) =item B=I (C<$'\e[0;31m'>) Colour for warning and error messages (default: red) =back =head1 SEE ALSO L(1), L(1)