anchor.diff:    # !!! should use XML.
     sources = map (x: x.source) contents;
     targets = map (x: x.target) contents;
  +  modes   = map (x: x.mode  or "''") contents;
  +  users   = map (x: x.user  or "''") contents;
  +  groups  = map (x: x.group or "''") contents;
   
     closureInfo = pkgs.closureInfo { rootPaths = [ config.system.build.toplevel channelSources ]; };
   
  
positive.code:   bootSize ? "256M"
  
  , # The files and directories to be placed in the target file system.
    # This is a list of attribute sets {source, target} where `source'
    # is the file system object (regular file or directory) to be
    # grafted in the file system at path `target'.
    contents ? []
  
  , # Type of partition table to use; either "legacy", "efi", or "none".
  
negative.code: assert partitionTableType == "legacy" || partitionTableType == "legacy+gpt" || partitionTableType == "efi" || partitionTableType == "hybrid" || partitionTableType == "none";
  # We use -E offset=X below, which is only supported by e2fsprogs
  assert partitionTableType != "none" -> fsType == "ext4";
  # Either both or none of {user,group} need to be set
  assert lib.all
           (attrs: ((attrs.user  or null) == null)
                == ((attrs.group or null) == null))
           contents;
  
  with lib;
  
  