From 77c8f43c74a4010b9045275b987edf2c55f5429d Mon Sep 17 00:00:00 2001 From: Jared Finder Date: Sun, 10 Dec 2023 16:39:54 -0800 Subject: [PATCH] Updating README.md now that init-dir is listed on MELPA. * Listing MELPA in installation instructions. * Putting two spaces after period character, per Emacs conventions. --- README.md | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 0826102..e3e21f6 100644 --- a/README.md +++ b/README.md @@ -12,43 +12,46 @@ file: ## Why init-dir? There are already a few other init directory packages commonly -used. The most popular ones are +used. The most popular ones are [el-init](https://github.com/HKey/el-init) and -[init-loader](https://github.com/emacs-jp/init-loader). What +[init-loader](https://github.com/emacs-jp/init-loader). What distinguishes init-dir from these other packages? -* No constraints put on how you write your init directory. Other +* No modifications to `load-path`. This means that you never need to + worry about files in your init directory overriding built in + libraries. +* No constraints put on how you write your init directory. Other packages require you to follow naming conventions or use `provide` / `require`. * Integration testing recent Emacs versions while keeping support for - older Emacs versions. I've been using this package myself since + older Emacs versions. I've been using this package myself since Emacs 21.3 across Mac, Windows, and Debian Linux and I understand the entire ecosystem can't update all at once. -* Avoid duplicating built-in Emacs functionality. For example in all +* Avoid duplicating built-in Emacs functionality. For example in all elisp code you can use the form `(when (eq system-type 'windows-nt) ...)` to run code only on Windows so init-dir doesn't have any special "only runs on Windows" functionality. ## Installation -The easiest way to install init-dir is on GNU Emacs 29 via -`package-vc-install`. Just run `M-x package-vc-install RET -http://github.com/chaosemer/init-dir RET`. This installs the package -locally. (Very soon this package will be available on MELPA and MELPA -Stable as well.) +If you are using [MELPA](https://melpa.org/#/getting-started), +installing init-dir is as simple as `M-x package-install RET +init-dir`. Additionally, on GNU Emacs 29 and higher, you can run `M-x +package-vc-install RET http://github.com/chaosemer/init-dir RET` to +install directly from source. ## Init directory organizational suggestions I find it easiest to organize my [init directory](https://github.com/chaosemer/dot-emacs) by mode or -package. So I have c.el for C related configuration (including C++, +package. So I have c.el for C related configuration (including C++, C#, etc.), elisp.el for Emacs Lisp related configuration, window.el -for window management utilities, and so on. Each of these +for window management utilities, and so on. Each of these configuration files is independent from each other and self contained making it easy to add keep things organized. For configurations that apply to all of Emacs, I find it best to put -it in a single file named emacs.el. This is where global minor modes +it in a single file named emacs.el. This is where global minor modes and global keybindings go. Take advantage of the files being loaded in lexicographic order! @@ -59,10 +62,10 @@ first. ## History init-dir was originally written by Jared Finder () -back in 2005 for GNU Emacs 21.3. My goals were: +back in 2005 for GNU Emacs 21.3. My goals were: * Keep my Emacs customizations under version control on a platform - that didn't support symbolic links (Windows 2000). At the time GNU + that didn't support symbolic links (Windows 2000). At the time GNU Emacs always loaded customizations from ~/.emacs. * Keep global customizations cleanly separated from programming language specific customizations.