anchor.diff:                         :sources (list (make-instance 'os-generation-source
                                                        :profile profile))
                          :prompt "Generation")))
  -         (buffer (or (find-buffer 'os-package-manager-mode)
  -                     (enable-modes '(nyxt/os-package-manager-mode:os-package-manager-mode)
  -                                   (make-os-package-buffer)))))
  +         (buffer (ensure-os-package-buffer)))
       (echo "Loading package database...")
       (nyxt::html-set
        (spinneret:with-html-string
  
positive.code:                                   (prompt
                                     :sources '(os-package-source)
                                     :prompt "List files of OS package(s)")))
           (buffer (or (find-buffer 'os-package-manager-mode)
                       (enable (make-instance 'nyxt/os-package-manager-mode:os-package-manager-mode
                                              :buffer (make-os-package-buffer))))))
      (echo "Computing file list...")
      (nyxt::html-set
       (spinneret:with-html-string
  
negative.code:       (ospm:list-generations (profile source)))))
    (:accessor-name-transformer (class*:make-name-transformer name)))
  
  (defun ensure-os-package-buffer ()
    (or (find-buffer 'os-package-manager-mode)
        (sera:lret ((new-buffer (make-buffer :no-history-p t ; TODO: Don't use `make-buffer'.
                                             :load-url-p nil
                                             :status :finished ; TODO: Restore `internal-buffer'?
                                             :title "*OS packages*")))
          (enable (make-instance 'nyxt/os-package-manager-mode:os-package-manager-mode
                                 :buffer new-buffer)))))
  
  (defun %describe-os-package (packages)
    (let* ((buffer (ensure-os-package-buffer)))
      (flet ((format-inputs (inputs)
               (spinneret:with-html
                 (dolist (input inputs)
  