anchor.diff: -{ configurationnix ? "/etc/nixos/configuration.nix" }:
  +# { configurationnix ? "/etc/nixos/configuration.nix" }:
  +{ configurationnix ? "/home/matej/workarea/tmp/nixos/configuration.nix"
  +, system ? builtins.currentSystem
  +, optionsWithVal ? true
  +, path ? "services.nginx" }:
   with import <nixpkgs/lib>;
   let
  -  pkgs = import <nixpkgs> { config = { allowBroken = true; allowUnfree = true; }; system = builtins.currentSystem; };
  +  # lib = import <nixpkgs/lib> {};
  +  # config = { nixpkgs.config = { allowBroken = true; allowUnfree = true; }; };
  +  # platform = (import <nixpkgs/pkgs/top-level/platforms.nix>).pc64;
  +  # stdenv = (import <nixpkgs/pkgs/stdenv> {
  +  #   inherit system platform config lib;
  +  #   allPackages = args: import <nixpkgs/pkgs/top-level/all-packages.nix> ({ inherit config system; });
  +  # }).stdenvLinux;
  +  originalPkgs = import <nixpkgs> { };
  +  configuration = (import configurationnix { pkgs = originalPkgs; config = originalPkgs.config; });
   
  -  configuration = (import configurationnix { inherit pkgs; config = pkgs.config;}) // {nixpkgs.system = builtins.currentSystem;};
  +  # baseModules = import <nixpkgs/nixos/modules/module-list.nix>;
   
  -  baseModules = import <nixpkgs/nixos/modules/module-list.nix>;
  +  # eval2 = import <nixpkgs/nixos/lib/eval-config.nix> {
  +  #   modules = [ configuration ];
  +  #   # system = builtins.currentSystem;
  +  #   inherit pkgs;
  +  #   check = false;
  +  #   # prefix = [ "boot" ];
  +  #   # lib = pkgs.lib;
  +  #   # baseModules = [];
  +  # };
   
  -  eval = import <nixpkgs/nixos/lib/eval-config.nix> {
  -    modules = [ configurationnix ] ++ baseModules;
  -    # system = builtins.currentSystem;
  -    inherit pkgs;
  -    # check = true;
  -    # prefix = [ "boot" ];
  -    # lib = pkgs.lib;
  -    # baseModules = [];
  +  eval = import <nixpkgs/nixos> {
  +    configuration = configuration;
  +    inherit system;
     };
  -
  +  pkgs = eval.pkgs;
   
     scrubOptionValue_ = path: x: visitList:
       let
  
positive.code: 
    createEntry = path: root: visitList:
      let
        value = if path == [""] then root else pkgs.lib.attrByPath path "<error>" root;
        val = scrubOptionValue_ path value visitList;
      in (
        {inherit val path;}
      );
    values = attrs: createEntry (pkgs.lib.splitString "." attrs) configuration [];
    getValue = path:
      let
        value = pkgs.lib.attrByPath path null (values "");
      in
        { val = scrubOptionValue_ [""] value []; };
        # { val = scrubOptionValue_ [""] value []; };
  
  in {
    # output = optionAttrSetToDocList_ [] eval.options;
    options = (builtins.unsafeDiscardStringContext (builtins.toJSON (listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList_))));
    config = builtins.toJSON (values "services");
  }
  
negative.code:           visible = opt.visible or true;
            type = opt.type.name or null;
          }
          // (if opt ? example then { example = scrubOptionValue_ (opt.loc) opt.example []; } else {})
          // (if opt ? default then { default = scrubOptionValue_ (opt.loc) opt.default []; } else {})
          // (if opt ? defaultText then { default = opt.defaultText; } else {});
  
          subOptions =
  