Emacs环境隔离之——maple-env

阅读约 2 分钟 linux emacs

在使用Emacs时,会有很多依赖,比如:

  • Python依赖于flake8isortpython-language-server

  • Golang依赖于golang.org/x/tools/cmd/goplsgithub.com/haya14busa/gopkgs/cmd/gopkgs

想要安装这些依赖,必须手动进行安装,use-package用户可使用ensure-system-package,但非常不幸的是,这些依赖很大程度上会污染我的电脑环境,毕竟像python-language-serverflake8这类的package,我除了在Emacs里会用到,平时根本用不到(除非同时使用Emacs和其它编辑器或IDE)

所以,我写了一个maple-env用来实现Emacs依赖环境隔离,使用方式:

  • 安装

    1git clone https://github.com/honmaple/emacs-maple-env ~/.emacs/site-lisp/maple-env
  • 配置

     1(use-package maple-env
     2  :ensure nil
     3  :hook (after-init . maple-env-mode)
     4  :config
     5  (setq maple-env:python-packages
     6        '("yapf" "flake8" "isort" "python-language-server")
     7        maple-env:golang-packages
     8        '("github.com/rogpeppe/godef"
     9          "github.com/golang/lint/golint"
    10          "github.com/haya14busa/gopkgs/cmd/gopkgs"
    11          "golang.org/x/tools/cmd/gopls")
    12        maple-env:npm-packages
    13        '("js-beautify"))
    14  ;; 手动调用(maple-env:init)以安装依赖环境
    15  )

更多自定义详见customize-group maple-env