1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- @node Configuration Handbook
- @chapter Configuration Handbook
- This chapter has yet to be fully written. It is intended to be about in-depth
- configuration of GNUnet.
- @menu
- * Config file format::
- @end menu
- @node Config file format
- @section Config file format
- In GNUnet realm, all components obey the same pattern to get configuration
- values. According to this pattern, once the component has been installed, the
- installation deploys default values in @file{$prefix/share/gnunet/config.d/},
- in @file{.conf} files. In order to override these defaults, the user can
- write a custom @file{.conf} file and either pass it to the component at
- execution time, or name it @file{gnunet.conf} and place it under
- @file{$HOME/.config/}.
- A config file is a text file containing sections, and each section
- contains its values. The right format follows:
- @example
- [section1]
- value1 = string
- value2 = 23
- [section2]
- value21 = string
- value22 = /path22
- @end example
- Throughout any configuration file, it is possible to use @code{$}-prefixed
- variables, like @code{$VAR}, especially when they represent filenames in in
- the filesystem. It is also possible to provide defaults values for those
- variables that are unset, by using the following syntax:
- @example
- $@{VAR:-default@}
- @end example
- @noindent
- However, there are two ways a user can set @code{$}-prefixable variables:
- (a) by defining them under a @code{[paths]} section
- @example
- [paths]
- GNUNET_DEPLOYMENT_SHARED = $@{HOME@}/shared-data
- ..
- [section-x]
- path-x = $@{GNUNET_DEPLOYMENT_SHARED@}/x
- @end example
- @noindent
- or (b) by setting them in the environment
- @example
- $ export VAR=/x
- @end example
- @noindent
- The configuration loader will give precedence to variables set under
- @code{[path]}, though.
- The utility @samp{gnunet-config}, which gets installed along with GNUnet,
- serves to get and set configuration values without directly editing the
- @file{.conf} file. The option @samp{-f} is particularly useful to resolve
- filenames, when they use several levels of @code{$}-expanded variables.
- See @samp{gnunet-config --help}.
- Note that, in this stage of development, the file
- @file{$HOME/.config/gnunet.conf} can contain sections for @strong{all} the
- components.
|