anchor.diff:  
     tryScrubOptionValue = path: x: visitList:
       let
  -      visitList_ = [x] ++ visitList;
  +      visitList_ = ([x] ++ visitList);
       in
         builtins.tryEval (
  -        if pkgs.lib.any (element: element == x) visitList then "<recursion>"
  -        else if pkgs.lib.isDerivation x then "<drv>"+(toString x.outPath)+"</drv>"
  -        else if pkgs.lib.isInt x then x
  -        else if pkgs.lib.isString x then x
  -        else if pkgs.lib.isBool x then x
  -        else if pkgs.lib.isFunction x then "<function>"
  -        else if pkgs.lib.isList x then (map (y: scrubOptionValue_ path y visitList_) x)
  -        else if pkgs.lib.isAttrs x then (pkgs.lib.mapAttrs (n: v: (scrubOptionValue_ path v visitList_)) x)
  +        if x == null then null
  +        else if any (element: element == x) visitList then "<recursion>"
  +        else if isDerivation x then "<drv>"+(toString x.outPath)+"</drv>"
  +        else if isInt x then x
  +        else if isString x then x
  +        else if isBool x then x
  +        else if isFunction x then "<function>"
  +        else if isList x then (map (y: scrubOptionValue_ path y visitList_) x)
  +        else if isAttrs x then (mapAttrs (n: v: if isNull v then "<null>" else (scrubOptionValue_ path v visitList_)) x)
           else if builtins.typeOf x == "lambda" then "<lambda>"
           else toString x);
   
  
positive.code: { configurationnix ? "/etc/nixos/configuration.nix" }:
  with import <nixpkgs/lib>;
  let
    pkgs = import <nixpkgs> { config = { allowBroken = true; allowUnfree = true; }; system = builtins.currentSystem; };
  
    configuration = (import configurationnix { inherit pkgs; config = pkgs.config;}) // {nixpkgs.system = builtins.currentSystem;};
  
    baseModules = import <nixpkgs/nixos/modules/module-list.nix>;
  
    eval = import <nixpkgs/nixos/lib/eval-config.nix> {
      modules = [ configurationnix ] ++ baseModules;
      # system = builtins.currentSystem;
      inherit pkgs;
      # check = true;
      # prefix = [ "boot" ];
      # lib = pkgs.lib;
      # baseModules = [];
    };
  
  
    scrubOptionValue_ = path: x: visitList:
      let
  
negative.code:     else if builtins.isFunction x then "<function>"
      else x;
  
    optionsList_ = flip map optionsList (opt: let
        path = splitString "." opt.name;
        val = if optionsWithVal then (value path).val else null;
    in opt // {
      declarations = map (fn: stripPrefix fn) opt.declarations;
      # inherit path;
    }
    // optionalAttrs (val != null) rec {
      inherit val;
    }
    // optionalAttrs (opt ? example) { example = substFunction opt.example; }
    // optionalAttrs (opt ? default) { default = substFunction opt.default; }
  