mason-org/mason.el

Package manager for LSP, DAP, linters, and more for the Emacs Operating System

Emacs Lisp

111

81 commits

updated May 17, 2026

See the code

README

mason.el MELPA

mason.el is installer for LSP servers, DAP servers, linters and formatters, inspired by mason.nvim.

Package registry at mason-org/mason-registry.

  • M-x mason-install RET to install packages.
  • M-x mason-manager RET to open package manager.

Screenshots

Mason managerPackage info
mason-managerPackage info
M-x mason-installM-x mason-log
mason-installmason-log

Requirements

mason.el will call external programs such as cargo and npm to install the packages, or tar and gzip to extract downloaded archives.

Call (mason-doctor) to see the requirements of each package type.

Installation

mason.el is available on MELPA, install it in your favorite way and call (mason-setup) to setup the environment.

Install it with use-package

(use-package mason
  :ensure t
  :config
  (mason-setup))

Install it in Doom Emacs:

Add to DOOMDIR/packages.el:

(package! mason)

Add to DOOMDIR/config.el:

(use-package! mason
  :config
  (mason-setup))

Snippets

Programmatically installing packages

mason.el can be used to install packages programmatically:

(mason-setup
  (dolist (pkg '("basedpyright" "jdtls" "clangd"))
    (unless (mason-installed-p pkg)
      (ignore-errors (mason-install pkg)))))

This will (try to) install the missing packages.

emacs
lsp
mason
package

Contributors

deirn

79 commits

bormoge

2 commits

mason-org/mason.el

Package manager for LSP, DAP, linters, and more for the Emacs Operating System

Emacs Lisp

111

81 commits

updated May 17, 2026

See the code

README

mason.el MELPA

mason.el is installer for LSP servers, DAP servers, linters and formatters, inspired by mason.nvim.

Package registry at mason-org/mason-registry.

  • M-x mason-install RET to install packages.
  • M-x mason-manager RET to open package manager.

Screenshots

Mason managerPackage info
mason-managerPackage info
M-x mason-installM-x mason-log
mason-installmason-log

Requirements

mason.el will call external programs such as cargo and npm to install the packages, or tar and gzip to extract downloaded archives.

Call (mason-doctor) to see the requirements of each package type.

Installation

mason.el is available on MELPA, install it in your favorite way and call (mason-setup) to setup the environment.

Install it with use-package

(use-package mason
  :ensure t
  :config
  (mason-setup))

Install it in Doom Emacs:

Add to DOOMDIR/packages.el:

(package! mason)

Add to DOOMDIR/config.el:

(use-package! mason
  :config
  (mason-setup))

Snippets

Programmatically installing packages

mason.el can be used to install packages programmatically:

(mason-setup
  (dolist (pkg '("basedpyright" "jdtls" "clangd"))
    (unless (mason-installed-p pkg)
      (ignore-errors (mason-install pkg)))))

This will (try to) install the missing packages.

emacs
lsp
mason
package

Contributors

deirn

79 commits

bormoge

2 commits

Languages

Emacs Lisp

100.0%