README.md
author Oleksandr Gavenko <gavenkoa@gmail.com>
Sun, 27 Nov 2022 21:17:26 +0200
changeset 1762 a62145ae4fbd
parent 1717 3c60aeba5004
permissions -rw-r--r--
Added a shortcut for opening BLOG.rst.


# Oleksandr Gavenko's Emacs initialization script

## Installation

To install:

    make install

To download external packages:

    make install-packages

## Config files structure

I use `~/.emacs.d/init.d` as main entry point for customization. That file load
another files in such order:

`~/.emacs.d/.emacs-autogen`
:   Hold environment info discovered during installing. Automatically generated.

`~/.emacs.d/.emacs-pre`
:   For manually written customization (usually for updating load-path) which
    can affect on `.emacs-my`. Will not be overridden on install.

`~/.emacs.d/my/loaddefs.el`
:   Definition for my modes autoload functions. Automatically generated.

`~/.emacs.d/.emacs-custom`
:   For storing customization's by Emacs itself. Some settings from this file can
    effect on loaded Elisp files from .emacs-my. Will not be overridden on
    install.

`~/.emacs.d/.emacs-my`
:   Here main customization's is placed.

`~/.emacs.d/.emacs-post`
:   For storing connection settings, passwords and enabling modes added to
    load-path in `~/.emacs.d/.emacs-pre`. Will not be overridden on install.

## Org mode conventions

`my-org-dir` controls location of Org root directory.

## Legacy setup instructions for native Windows Emacs

Define env var `HOME` like `c:\home`. Emacs will expand path element `~` to that
directory and some modes provide shortcuts for quick navigation to that
directory.

### cygwin-mount.el

`cygwin-mount.el` teaches Windows Emacs to understand Cygwin paths.

In particular setting `INFOPATH` & `MANPATH` using Cygwin's convention allows to
read info and man pages from Windows Emacs!

Example of `INFOPATH` which works both in Cygwin and native Emacs:

    INFOPATH=/cygdrive/c/home/usr/share/info:/usr/share/info:/usr/local/share/info:

Final sign `:` instructs Cygwin's built-in info viewer to include system paths
and native Emacs to include its own info pages.

Emacs's `woman.el` and Cygwin's `man` both understand following:

    MANPATH=:/cygdrive/c/home/usr/share/man:/usr/share/man:/usr/local/share/man