help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs Modular Configuration: the preferable way.


From: Emanuel Berg
Subject: Re: Emacs Modular Configuration: the preferable way.
Date: Mon, 21 Jun 2021 04:56:04 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Hongyi Zhao wrote:

> I noticed the following instructions/tools for Emacs modular
> configuration:
>
> https://www.emacswiki.org/emacs/DotEmacsModular
> https://www.emacswiki.org/emacs/DotEmacsStructuring
> https://github.com/emacs-jp/init-loader
>
> There are so many ways to do this. What's the
> preferable way?

My personal favorite is the method below, I don't know if
that's mentioned on any of your links.

Note that every file is mentioned explicitly, that means if
you are to search for an error (say do the so-called binary
search) you don't have to comment in and out code that might
have comments, headers, footers, and so on, instead you just
comment out one or more filenames, and when the bug or
misfeature is localized, it is as easy to enable them again.

(let*((emacs-dir "~/.emacs.d")
      (lisp-dir  (format "%s/lisp"       emacs-dir))
      (init-dir  (format "%s/emacs-init" emacs-dir))
      (erc-dir   (format "%s/erc"        init-dir))
      (gnus-dir  (format "%s/gnus"       init-dir))
      (ide-dir   (format "%s/ide"        init-dir))
      (w3m-dir   (format "%s/w3m"        init-dir))
      (dirs     (list
                 lisp-dir
                 init-dir
                 erc-dir
                 gnus-dir
                 ide-dir
                 w3m-dir
                 )))
  (dolist (d dirs)
    (push d load-path) )
  (let ((emacs-init-files '(
                            abc.el
                            align-incal.el
                            batch.el
                            bibtex-incal.el
                            bike.el
                            bmi.el
                            buc.el
                            buffer-menu.el
                            caps-back.el
                            close.el
                            console-keys.el
                            count.el
                            custom-vars.el
                            day.el
                            dired-incal.el
                            ecat-incal.el
                            echo-message.el
                            edit.el
                            elpa.el
                            emacs-shell.el
                            face.el
                            file-write-to.el
                            file.el
                            fill-incal.el
                            frame-size.el
                            geh.el
                            get-search-string.el
                            help-incal.el
                            info-incal.el
                            isbn-verify.el
                            issn-verify.el
                            iterate-files.el
                            jean.el
                            keys.el
                            kill-path.el
                            kill.el
                            latex.el
                            lights.el
                            linux-shell.el
                            list-quoted-functions.el
                            man-incal.el
                            match-data-format.el
                            math.el
                            measure.el
                            minor-modes.el
                            misc.el
                            mode-by-filename.el
                            mode-line.el
                            navigate-fs-keys.el
                            negative-subtraction.el
                            perm.el
                            printer.el
                            quit.el
                            random.el
                            re-make-list.el
                            replace-list.el
                            revert-buffer.el
                            scale.el
                            scroll.el
                            search-regexp-in-files.el
                            sequence-string.el
                            shell-cli.el
                            show-command.el
                            signal.el
                            sort-incal.el
                            spell.el
                            street.el
                            string.el
                            sudo-user-path.el
                            super.el
                            survivor.el
                            switch-to-buffer-regexp.el
                            switch-to-buffer.el
                            tabs.el
                            test-face.el
                            test.el
                            time-cmp.el
                            time-incal.el
                            time-insert.el
                            todo-did.el
                            tramp-incal.el
                            variance.el
                            vt.el
                            window-incal.el
                            wood.el
                            wrap-search.el
                            xsel.el
                            yank.el
                            )))
    (dolist (f emacs-init-files)
      (load-file (format "%s/%s" init-dir f) )))

  (let ((emacs-erc-init-files '(
                                erc-connect.el
                                erc-incal.el
                                erc-iterate.el
                                erc-kill.el
                                erc-misc.el
                                erc-spell.el
                                )))
    (dolist (f emacs-erc-init-files)
      (load-file (format "%s/%s" erc-dir f) )))

  (let ((emacs-gnus-init-files '(
                                 article.el
                                 browse.el
                                 gnus-incal.el
                                 gnus-server.el
                                 group-summary.el
                                 group.el
                                 mail-to-many.el
                                 mail.el
                                 mailrc.el
                                 message-dynamic.el
                                 message-incal.el
                                 moggle.el
                                 summary.el
                                 )))
    (dolist (f emacs-gnus-init-files)
      (load-file (format "%s/%s" gnus-dir f) )))

  (let ((emacs-ide-init-files '(
                                c-and-cpp.el
                                compile-incal.el
                                elisp.el
                                find-command.el
                                html.el
                                ide.el
                                lisp-incal.el
                                )))
    (dolist (f emacs-ide-init-files)
      (load-file (format "%s/%s" ide-dir f) )))

  (let ((emacs-w3m-init-files '(
                                bookmarks.el
                                dl.el
                                history.el
                                w3m-incal.el
                                w3m-keys.el
                                w3m-sem.el
                                w3m-tabs.el
                                w3m-unisearch.el
                                )))
    (dolist (f emacs-w3m-init-files)
      (load-file (format "%s/%s" w3m-dir f) )))
  )

https://dataswamp.org/~incal/conf/.emacs

-- 
underground experts united
https://dataswamp.org/~incal




reply via email to

[Prev in Thread] Current Thread [Next in Thread]