anchor.diff:  let
   
     cfg = config.virtualisation.lxd;
  +  zfsCfg = config.boot.zfs;
   
   in
   
  
positive.code:       wantedBy = [ "multi-user.target" ];
        after = [ "systemd-udev-settle.service" ];
  
        path = lib.optional cfg.zfsSupport pkgs.zfs;
  
        preStart = ''
          mkdir -m 0755 -p /var/lib/lxc/rootfs
        '';
  
        serviceConfig = {
          ExecStart = "@${pkgs.lxd.bin}/bin/lxd lxd --group lxd";
          Type = "simple";
          KillMode = "process"; # when stopping, leave the containers alone
          LimitMEMLOCK = "infinity";
  
negative.code:           <command>lxc</command> command line tool, among others.
          '';
        };
  
        package = mkOption {
          type = types.package;
          default = pkgs.lxd;
          defaultText = "pkgs.lxd";
          description = ''
            The LXD package to use.
          '';
        };
  
        lxcPackage = mkOption {
          type = types.package;
          default = pkgs.lxc;
          defaultText = "pkgs.lxc";
          description = ''
            The LXC package to use with LXD (required for AppArmor profiles).
          '';
        };
  
        zfsPackage = mkOption {
          type = types.package;
          default = with pkgs; if zfsCfg.enableUnstable then zfsUnstable else zfs;
          defaultText = "pkgs.zfs";
          description = ''
            The ZFS package to use with LXD.
          '';
        };
  
        zfsSupport = mkOption {
          type = types.bool;
          default = false;
          description = ''
            Enables lxd to use zfs as a storage for containers.
  
            This option is enabled by default if a zfs pool is configured
            with nixos.
          '';
  