     ;; packages
     (setq configuration-layer--packages (configuration-layer//declare-packages
                                          configuration-layer--layers))
+    (configuration-layer//load-layers-files configuration-layer--layers
+                                            '("funcs.el"))
     (setq configuration-layer--used-distant-packages
           (configuration-layer//get-distant-used-packages
            configuration-layer--packages))

              (when ownerp
                ;; last owner wins over the previous one,
                ;; still warn about mutliple owners
                (when (oref obj :owner)
                  (spacemacs-buffer/warning
                   (format (concat "More than one init function found for "
                                   "package %S. Previous owner was %S, "
                                   "replacing it with layer %S.")
                           pkg-name (oref obj :owner) layer-name)))
                (oset obj :owner layer-name))
              (when (and (not ownerp)
                         (listp pkg)
                         (spacemacs/mplist-get pkg :toggle))

          (re-search-backward "\\(\\[.+\\]\\)" nil t)
          (help-xref-button 1 'help-package pkg-symbol))))))

(defun configuration-layer/get-packages (layers &optional dotfile packages)
  "Read the package lists of LAYERS and dotfile and return a list of packages."
  (let ((result packages))
    (dolist (layer layers)
      (let* ((layer-name (oref layer :name))
             (layer-dir (oref layer :dir))
