anchor.diff:      };
   
       repoTypes = mkOption {
  -        default = {
  -          svn = { valid = "[ -d .svn ]"; env = [ pkgs.coreutils pkgs.subversion ]; };
  -          git = { valid = "[ -d .git ]"; env = [ pkgs.coreutils pkgs.git pkgs.gnused /*  FIXME: use full path to sed in nix-pull */ ]; };
  -        };
  -        description = "defines PATH environment and when directory is considered beeing a valid repository.
  -              If it's not it's moved to a backup directory";
  +      default = {
  +        svn = { valid = "[ -d .svn ]"; env = [ pkgs.coreutils pkgs.subversion ]; };
  +        git = { valid = "[ -d .git ]"; env = [ pkgs.coreutils pkgs.git pkgs.gnused /*  FIXME: use full path to sed in nix-pull */ ]; };
  +      };
  +      description = ''
  +        Defines, for each supported version control system
  +        (e.g. <literal>git</literal>), the dependencies for the
  +        mechanism, as well as a test used to determine whether a
  +        directory is a checkout created by that version control
  +        system.
  +      '';
       };
   
       manifests = mkOption {
  
positive.code:         example = [ { type = "svn"; url = "https://svn.nixos.org/repos/nix/nixos/branches/stdenv-updates"; target = "/etc/nixos/nixos-stdenv-updates"; }
                      { type = "git"; initialize = ''git clone git://mawercer.de/nixos $target''; update = "git pull origin"; target = "/etc/nixos/nixos-git"; }
                    ];
          description = "The NixOS repository from which the system will be build. 
                         nixos-checkout will update all working copies of the given repositories,
                         nixos-rebuild will use the first item which has
                         the attribute default = true falling back to the
                         first item. The type defines the repository tool added
                         to the path. It also defines a \"valid\" repository.
                         If the target directory already exists and it's not
                         valid it will be moved to the backup location
                         <filename>\${dir}-date</filename>.
                         For svn the default target and repositories are
                         <filename>/etc/nixos/nixos</filename> and
                         <filename>https://svn.nixos.org/repos/nix/nixos/trunk</filename>.
                         For git repositories update is called after
                         initialization when the repo is initialized.
                         The initialize code is run from working directory
                         dirname \$target and should create the directory
                         <filename>\$target<filename>. (<command>git clone url nixos/nixpkgs/services</command> should do)
                         For the executables beeing used see <option>repoTypes</option>
                         ";
        };
  
        nixpkgs = mkOption {
  
negative.code:         default = [];
          example = [ "proxy_connect" { name = "php5_module"; path = "${pkgs.php}/modules/libphp5.so"; } ];
          description = ''
            Specifies additional Apache modules.  These can be specified
            as a string in the case of modules distributed with Apache,
            or as an attribute set specifying the
            <varname>name</varname> and <varname>path</varname> of the
            module.
          '';
        };
  
  