anchor.diff:      in
       if nixOpsModel then removeAttrs mergedNetwork [ "network" "resources" ] else mergedNetwork; # A NixOps model has a reserved network attributes that cannot be machines
     
  +  /*
  +   * Takes a merged network configuration and evaluates them producing a config
  +   * attribute for each of them.
  +   *
  +   * Parameters:
  +   * enableDisnix: Indicates whether Disnix must be enabled
  +   * nixOpsModel: Indicates whether we should use NixOps specific settings
  +   * useVMTesting: Indicates whether we should enable NixOS test instrumentation and VM settings
  +   * useBackdoor: Indicates whether we should enable the backdoor
  +   *
  +   * Returns:
  +   * An attribute set with evaluated machine configurationb properties
  +   */
     generateConfigurations = network: enableDisnix: nixOpsModel: useVMTesting: useBackdoor:
       pkgs.lib.mapAttrs (targetName: configuration:
         evalConfig {
  
positive.code:     ) (attrNames configurations)
    ;
  
    generateManifest = network: targetProperty: enableDisnix: nixOpsModel: useVMTesting: useBackdoor:
      let
        configurations = generateConfigurations network enableDisnix nixOpsModel useVMTesting useBackdoor;
  
negative.code: in
  rec {
  
    /*
     * Takes a collection of NixOS network expressions and zips them into a list of
     * NixOS modules.
     *
     * Parameters:
     * networkFiles: A list of strings containing paths to NixOS network expressions
     * nixOpsModel: Indicates whether the configuration is a NixOps model so that certain attributes are ignored.
     *
     * Returns:
     * An attribute set in which the names refer to machine names and values to lists of NixOS modules
     */
    generateMergedNetwork = networkFiles: nixOpsModel:
      let
        networks = map (networkFile: import networkFile) networkFiles;
  