Setelah baru-baru ini belajar tentang use-packagesaya memutuskan untuk port konfigurasi saya untuk itu tetapi menemukan diri saya enggan untuk memberikan kemudahan menggunakan package.elmenginstal paket dan tetap memperbaruinya. Saya merasa agak sulit untuk menggabungkan use-packagedan package.el.
Saya umumnya tertarik mempelajari bagaimana orang-orang bergabung use-packagedengan package.elsistem, tetapi untuk pertanyaan yang lebih spesifik, teruslah membaca.
Inilah yang saya inginkan:
- Untuk memiliki paket yang diinstal oleh manajer paket sehingga saya dapat dengan mudah menelusuri paket dan terus memperbaruinya
list-packages. - Untuk mengkonfigurasi dan memuat paket secara eksklusif
use-package, jadi saya dapat dengan mudah melihat di file init saya persis apa yang saya muat dan bagaimana hal itu dikonfigurasi. - Opsional, saya ingin juga dapat menginstal paket melalui
use-package's:ensurekata kunci.
Jika saya mengerti dengan benar saya ingin sedikit dari apa yang package-initializedilakukan, pada dasarnya hanya cara mengatur load-path. Saat ini saya memiliki ini dalam konfigurasi saya:
;(package-initialize)
(setq package-enable-at-startup nil)
(let ((default-directory "~/.emacs.d/elpa"))
(normal-top-level-add-subdirs-to-load-path))
(require 'use-package)
Baris pertama, yang dikomentari, adalah agar Emacs 25 tidak membantu menambahkan (package-initialize)file init saya. Bit with normal-top-level-add-subdirs-to-load-pathadalah aproksimasi terhadap apa yang package-initializeakan membuat load-path, aproksimasi yang tampaknya cukup baik.
Ini tampaknya mencapai keinginan saya 1 dan 2, tetapi tidak 3. Jika saya mencoba menggunakan :ensure, saya mendapatkan pesan kesalahan yang mengatakan bahwa package.elitu tidak diinisialisasi. Memanggil package-initializeakan memperbaikinya, tetapi saya ingin menghindari itu karena a) Saya tidak ingin semua autoload yang sangat banyak dimuat (saya lebih suka menggunakan use-packageuntuk membuat secara tepat autoload yang saya butuhkan), dan b) Saya ingin dapat dengan mudah hindari memuat paket yang diinstal tertentu kapan pun saya mau (yang mudah dilakukan use-package).
Adakah yang punya rekomendasi untuk bagaimana melakukan ini?
package-initializeyang membuat pertanyaan saya diperdebatkan.