Skip to content

Commit

Permalink
Updating README.md now that init-dir is listed on MELPA.
Browse files Browse the repository at this point in the history
* Listing MELPA in installation instructions.
* Putting two spaces after period character, per Emacs conventions.
  • Loading branch information
chaosemer committed Dec 11, 2023
1 parent f8c05a0 commit 77c8f43
Showing 1 changed file with 18 additions and 15 deletions.
33 changes: 18 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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!
Expand All @@ -59,10 +62,10 @@ first.
## History

init-dir was originally written by Jared Finder (<[email protected]>)
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.
Expand Down

0 comments on commit 77c8f43

Please sign in to comment.