anchor.diff:  with lib;
   
   let cfg = config.services.cloud-init;
  -    path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow dmidecode openssh ];
  -    configFile = pkgs.writeText "cloud-init.cfg" ''
  -users:
  -   - root
  -
  -disable_root: false
  -preserve_hostname: false
  -
  -cloud_init_modules:
  - - migrator
  - - seed_random
  - - bootcmd
  - - write-files
  - - growpart
  - - resizefs
  - - set_hostname
  - - update_hostname
  - - update_etc_hosts
  - - ca-certs
  - - rsyslog
  - - users-groups
  -
  -cloud_config_modules:
  - - emit_upstart
  - - disk_setup
  - - mounts
  - - ssh-import-id
  - - set-passwords
  - - timezone
  - - disable-ec2-metadata
  - - runcmd
  - - ssh
  -
  -cloud_final_modules:
  - - rightscale_userdata
  - - scripts-vendor
  - - scripts-per-once
  - - scripts-per-boot
  - - scripts-per-instance
  - - scripts-user
  - - ssh-authkey-fingerprints
  - - keys-to-console
  - - phone-home
  - - final-message
  - - power-state-change
  -'';
  +    path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow openssh iproute ];
   in
   {
     options = {
  
positive.code:         path = path;
          serviceConfig =
            { Type = "oneshot";
              ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} init";
              RemainAfterExit = "yes";
              TimeoutSec = "0";
              StandardOutput = "journal+console";
  
negative.code:         path = path;
          serviceConfig =
            { Type = "oneshot";
              ExecStart = "${pkgs.cloud-init}/bin/cloud-init init --local";
              RemainAfterExit = "yes";
              TimeoutSec = "0";
              StandardOutput = "journal+console";
  