anchor.diff:    };
   
     config = lib.mkIf cfg.enable {
  -    virtualisation.containerd.args.config = lib.mkIf (cfg.configFile != null) (toString containerdConfigChecked);
  +    warnings = lib.optional (cfg.configFile != null) ''
  +      `virtualisation.containerd.configFile` is deprecated. use `virtualisation.containerd.settings` instead.
  +    '';
   
  -    environment.systemPackages = [pkgs.containerd];
  +    virtualisation.containerd = {
  +      args.config = toString containerdConfigChecked;
  +      settings = {
  +        plugins.cri.containerd.snapshotter = lib.mkIf config.boot.zfs.enabled "zfs";
  +        plugins.cri.cni.bin_dir = lib.mkDefault "${pkgs.cni-plugins}/bin";
  +      };
  +    };
  +
  +    environment.systemPackages = [ pkgs.containerd ];
   
       systemd.services.containerd = {
         description = "containerd - container runtime";
  
positive.code:         containerd
          runc
          iptables
        ];
        serviceConfig = {
          ExecStart = ''${pkgs.containerd}/bin/containerd ${lib.concatStringsSep " " (lib.cli.toGNUCommandLine {} cfg.args)}'';
          Delegate = "yes";
  
negative.code: 
      configFile = lib.mkOption {
        default = null;
        description = ''
         Path to containerd config file.
         Setting this option will override any configuration applied by the settings option.
        '';
        type = nullOr path;
      };
  
      settings = lib.mkOption {
        type = settingsFormat.type;
        default = {};
        description = ''
          Verbatim lines to add to containerd.toml
        '';
      };
  
      args = lib.mkOption {
  