anchor.diff:            installPhase =
               "mkdir -p $out\n" +
               concatStringsSep "\n" (
  -              mapAttrsToList (name: value:
  -                "install -D -m${value.mode} ${value.source} $out/${value.target}"
  +              mapAttrsToList (n: v:
  +                ''
  +                  if [ -d "${v.source}" ]; then
  +                    mkdir -pv "$(dirname "$out/${v.target}")"
  +                    ln -sv "${v.source}" "$out/${v.target}"
  +                  else
  +                    install -D -m${v.mode} "${v.source}" "$out/${v.target}"
  +                  fi
  +                ''
                 ) cfg.file
               );
           };
  
positive.code:           function linkNewGen() {
              local newGenFiles
              newGenFiles="$(readlink -e "$newGenPath/home-files")"
              find "$newGenFiles" -type f -print0 \
                | xargs -0 bash ${link} "$newGenFiles"
            }
  
  
negative.code:           newGenFiles="$1"
            shift
            for sourcePath in "$@" ; do
              relativePath="''${sourcePath#$newGenFiles/}"
              targetPath="$HOME/$relativePath"
              $DRY_RUN_CMD mkdir -p $VERBOSE_ARG "$(dirname "$targetPath")"
              $DRY_RUN_CMD ln -nsf $VERBOSE_ARG "$sourcePath" "$targetPath"
            done
          '';
  
  