                (message! "Installing %s" (car pkg))
                (doom--condition-case!
                 (message! "%s%s"
-                          (cond ((and (package-installed-p (car pkg))
-                                      (not (doom-package-different-backend-p (car pkg)))
-                                      (not (doom-package-different-recipe-p (car pkg))))
-                                 (dark (white "⚠ ALREADY INSTALLED")))
-                                ((doom-install-package (car pkg) (cdr pkg))
-                                 (green "✓ DONE"))
-                                (t
-                                 (red "✕ FAILED")))
+                          (if (and (package-installed-p (car pkg))
+                                   (not (doom-package-different-backend-p (car pkg)))
+                                   (not (doom-package-different-recipe-p (car pkg))))
+                              (dark (white "⚠ ALREADY INSTALLED"))
+                            (condition-case e
+                                (if (doom-install-package (car pkg) (cdr pkg))
+                                    (green "✓ DONE")
+                                  (red "✕ FAILED"))
+                              (error
+                               (red "✕ ERROR (%s)" e))))
                           (if (plist-member (cdr pkg) :pin)
                               (format " [pinned: %s]" (plist-get (cdr pkg) :pin))
                             ""))))
 
              (message! (bold (green "Finished!")))
-             (doom//reload-load-path))))))
+             (doom//reload-load-path)
+             t)))))
 
 ;;;###autoload
 (defun doom//packages-update ()

                          (if result "✓ DONE" "✕ FAILED"))))))

             (message! (bold (green "Finished!")))
             (doom//reload-load-path))))))

;;;###autoload
(defun doom//packages-autoremove ()

    (doom-refresh-packages-maybe doom-debug-mode)
    (let ((packages (sort (doom-get-outdated-packages) #'doom--sort-alpha)))
      (cond ((not packages)
             (message! (green "Everything is up-to-date"))
             nil)

            ((not (or (getenv "YES")
                      (y-or-n-p
