This repo contains my configuration for emacs, bash and vim.
You must have stow installed to make this work.
Run stow <foo> to setup files in directory ./<foo>.
For example:
- setup
.bashrcwithstow bash - setup
.emacs.dwithstow emacs - setup
.i3and.i3status.confwithstow i3 - setup
.vimrcwithstow vim
By default stow folds a whole subtree into a single symlink whenever the
target directory does not exist, and it folds at the highest missing level.
On a machine without ~/.local, stow fonts links ~/.local itself into
this repo — after which everything any program later writes there (gh
state, uv downloads, the XDG trash) lands inside version control. Nine of
the packages here would fold a directory on a fresh target, three of them onto
~/.config and one onto ~/Library.
--no-folding makes stow create real directories and symlink only leaf
files, so a target directory is never replaced by a link into this repo. The
cost is a few more symlinks per package — between 1 and 16 for every package
here.
This is also why emacs/.emacs.d holds only configuration: generated state
(straight/, eln-cache/, .cache/, tangled elisp) lives in the real
~/.emacs.d and never enters the repo. The one exception is
straight/versions/default.el, the package lockfile, which is symlinked back
in so it stays versioned.
- This is contained in the
./emacsdirectory. - The entrypoint is
.emacs.d/init.el. - It does some housekeeping before tangling, compiling and loading
babel.org. babel.orgis a literateorg-modefile containing most of theemacs-lispconfiguration.vivid-chalk-theme.elcontainscustom-themedefinition for vivid-chalk ported from thecolor-themeimplementation. Though it has some pending garishness that needs fixing.- As is evidenced, this setup relies heavily on
org-mode. - Package management is provided by
package.el, called viause-package.- Thus it must be loaded and installed first, before doing anything else.
- There are some other experimental files which are not included on startup and are yet to be incorporated into the main configuration. (
diagnostics.el,rcode.el,minibuffer.el)
The .vimrc is present only for archival purposes.
It is not maintained.