Qual é a melhor maneira de usar pacotes locais no spacemacs?

18

Sou desenvolvedor de um pacote (ycmd) usado pelo spacemacs e gostaria de tentar usar o spacemacs também. Gostaria que o spacemacs usasse a "versão de desenvolvimento" do meu pacote, ou seja, a que estou invadindo localmente. Qual é a maneira melhor / adequada de dizer ao spacemacs para usar essa versão do pacote em vez da melpa?

No momento, estou usando o :load-pathargumento para use-package, mas isso parece contrariar um pouco. O spacemacs me permite especificar um diretório de carregamento para pacotes específicos na configuração da camada em algum lugar?

Abingham
fonte

Respostas:

14

Pacotes locais são colocados em extensions.elvez de packages.el. Existem duas listas em um extensions.elarquivo:

  • <layer>-pre-extensions que são carregados antes packages.el
  • <layer>-post-extensions que são carregados depois packages.el

Pacotes locais são colocados na pasta extensionsem uma subpasta cujo nome é o nome que você coloca em uma das duas listas. A load-pathvariável é tratada automaticamente.

Você pode ver alguns exemplos na pythoncamada.

syl20bnr
fonte
Excelente, obrigado! Imaginei que havia uma maneira canônica, mas não estava conectando todos os pontos.
abingham
Editei a resposta para mencionar a load-pathvariável que é definida automaticamente.
syl20bnr
@ syl20bnr você também precisa adicionar o pacote em `<layer> -excluded-packages, se você estiver trabalhando em um pacote já usado em outro lugar?
Mkaito 18/10/2015
5
O extensions.el está sendo preterido em favor dos pacotes locais. Veja github.com/syl20bnr/spacemacs/blob/develop/doc/…
tony day
@tonyday de fato, a pythoncamada que @ syl20bnr menciona nesta resposta agora segue essas orientações também, que tinha me confuddled até que eu vi o seu comentário :)
mike