anchor.diff:          Pid Directory = "/run";
           ${sd_cfg.extraStorageConfig}
         }
  - 
  +
  +      ${concatStringsSep "\n" (mapAttrsToList (name: value: ''
  +      Autochanger {
  +        Name = "${name}";
  +        Device = ${concatStringsSep ", " (map (a: "\"${a}\"") value.devices)};
  +        Changer Device =  "${value.changerDevice}";
  +        Changer Command = "${value.changerCommand}";
  +        ${value.extraAutochangerConfig}
  +      }
  +      '') sd_cfg.autochanger)}
  +
         ${concatStringsSep "\n" (mapAttrsToList (name: value: ''
         Device {
           Name = "${name}";
  
positive.code:         default = "${config.networking.hostName}-fd";
          description = ''
            The client name that must be used by the Director when connecting.
            Generally, it is a good idea to use a name related to the machine
            so that error messages can be easily identified if you have multiple
            Clients. This directive is required.
          '';
        };
  
negative.code:         default = 9101;
          type = types.int;
          description = ''
            Specify the port (a positive integer) on which the Director daemon
            will listen for Bacula Console connections. This same port number
            must be specified in the Director resource of the Console
            configuration file. The default is 9101, so normally this directive
            need not be specified. This directive should not be used if you
            specify DirAddresses (N.B plural) directive.
          '';
        };
   
  