Skip to main content
wildebeest-emacs.jpg
By Pablo
Machón
Pablo Machón is a self taught, dedicated technologist.
Así se hace
Emacs
Fácil
Iniciación

Configuración de Emacs 2: gestión de paquetes

Configuración de emacs con «programación literaria», gestión de paquetes

Se va a ampliar la configuración preparando el sistema de gestión de paquetes elegido. En este caso es straight.el, muy flexible y avanzado.

Plan de trabajo

Para instalar y configurar straight.el es preciso realizar dos pasos: primero desactivar el sistema estándar de paquetes de emacs, package-manager. Esto se lleva a cabo en el archivo init.el, que hay que preparar con el sistema de «tangle» ya utilizado anteriormente para generar otros archivos.

EL segundo paso será incorporar el código de bootstrapping o instalación y arranque de straight.el, tal como indica al sitio web del proyecto.

Desactivar package.org en early-init.el

** early-init.el: Configuración de emacs anterior a la creción de ventanas    
El archivo =var/early-init.el= se cargará al iniciar emacs, antes de crear el interface de usuario y antes de cargar init.el.

#+begin_src emacs-lisp
   ;; Configuración de Emacs (precarga)
 #+end_src

*** Load local configuration
#+begin_src emacs-lisp :tangle ../var/early-init.el :mkdirp yes 
  ;; Local configuration
  (let ((local-config-file (expand-file-name "local-config.el" user-emacs-directory)))
    (if (file-exists-p local-config-file)
        (load local-config-file :nomessage t)
      (append-to-file ";; Local configuration; first code loaded.\n" nil local-config-file)))
#+end_src

,*** Desactivar package.el
Impedir que package.el cargue paquetes antes de la carga de init.el

,#+begin_src emacs-lisp
;; desactivar package.el
(setq package-enable-at-startup nil)
,#+end_src

#+end_src

Activar el gestor de paquetes straigh.el

** Gestión de paquetes straight.el
El gestor de paquetes straight.el permite incluir paquetes de emacs con la máxima flexibilidad.

*** Bootstrapping straight.el
#+begin_src emacs-lisp :tangle ../var/early-init.el :mkdirp yes :tangle-mode
  ;; bootstrap Straigh.el
  (defvar bootstrap-version)
  (let ((bootstrap-file
         (expand-file-name
          "straight/repos/straight.el/bootstrap.el"
          (or (bound-and-true-p straight-base-dir)
              user-emacs-directory)))
        (bootstrap-version 7))
    (unless (file-exists-p bootstrap-file)
      (with-current-buffer
          (url-retrieve-synchronously
           "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
           'silent 'inhibit-cookies)
        (goto-char (point-max))
        (eval-print-last-sexp)))
    (load bootstrap-file nil 'nomessage))
#+end_src

*** Desactivar package.el
Utilizar la sintaxis =use-package=y activar ajustes iniciales, 
#+begin_src emacs-lisp
;; Use straight.el for use-package expressions
(straight-use-package 'use-package)

;; always use straight.el
(setq straight-use-package-by-default t)

;; TODO: BUG https://github.com/magit/magit/issues/5476
(setq straight-cache-autoloads nil)

;; Load the helper package for commands
;; like `straight-x-clean-unused-repos'
(require 'straight-x)
#+end_src

"Pablo Machón icon"