Archived
Initial commit for v1.0 of Simply Emacs.
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# SimplyEmacs
|
||||
|
||||
> Vanilla Emacs at heart, with Evil scoped strictly to buffer editing and basic motion.
|
||||
|
||||
## Philosophy
|
||||
|
||||
SimplyEmacs is my personal, versioned Emacs setup — built up piece by piece and
|
||||
treated like a project with tags and releases.
|
||||
|
||||
Simple idea: stick as close to vanilla Emacs as possible, but keep movement comfortable.
|
||||
Evil handles normal modal editing inside regular text buffers, while in modes like
|
||||
Dired or Magit it's stripped down to a paper-thin navigation layer (hjkl for moving
|
||||
around) so all the native keybinds and features keep working as intended.
|
||||
It gives you comfortable motion without burying how Emacs actually works.
|
||||
|
||||
## Layout
|
||||
|
||||
```
|
||||
.
|
||||
├── init.el # bootstrap, general UI, built-in settings, module loader
|
||||
├── lisp/
|
||||
│ ├── init-evil.el # evil-mode, ex commands, buffer-editing keybinds
|
||||
│ ├── init-dired.el # evil-style navigation for dired
|
||||
│ ├── init-completion.el # vertico, orderless, marginalia, corfu, consult, which-key
|
||||
│ ├── init-project.el # project.el scoped to ~/Projects, with a sticky project pin
|
||||
│ ├── init-build.el # simple build system around build.sh scripts
|
||||
│ ├── init-dev.el # per-language tooling (Odin, Lua, TOML) + eglot
|
||||
│ ├── init-git.el # version control with Magit
|
||||
│ ├── init-theme.el # gruvbox-dark-hard + a few face tweaks
|
||||
│ └── init-cheatsheet.el # in-Emacs keybinding reference (toggle with C-c /)
|
||||
└── custom.el # auto-generated by M-x customize, gitignored
|
||||
```
|
||||
|
||||
`init.el` is meant to stay readable as "what does bare Emacs look and feel
|
||||
like" — general UI, backups/autosave, scrolling, removing confirmations, etc.
|
||||
Everything else is one file per concern under `lisp/`, `require`d at the
|
||||
bottom of `init.el`. Custom's auto-generated output is redirected to its
|
||||
own `custom.el` (gitignored) so a stray `M-x customize` never shows up
|
||||
as noise in a diff.
|
||||
|
||||
## Included
|
||||
|
||||
- **Completion** — vertico + vertico-posframe, orderless, marginalia, corfu, consult
|
||||
- **Discovery** — which-key
|
||||
- **Editing** — evil (buffer editing only)
|
||||
- **Files** — dired, tuned with evil-style `hjkl` navigation
|
||||
- **Dev tooling** — tree-sitter + odin-ts-mode + eglot (OLS) for Odin, plus lua-mode, toml-mode, and markdown-mode
|
||||
- **Theme** — gruvbox-dark-hard, darkened background/fringe/line-numbers to `#111111`
|
||||
|
||||
## Install
|
||||
|
||||
```sh
|
||||
git clone <this-repo> ~/.config/emacs
|
||||
emacs
|
||||
```
|
||||
|
||||
First launch will refresh package archives and install everything declared
|
||||
via `use-package`.
|
||||
|
||||
## Adding a language
|
||||
|
||||
Add a new `;;;; <Language>` section to `lisp/init-dev.el` following the Odin
|
||||
example (tree-sitter grammar source, mode package, eglot hook).
|
||||
|
||||
## Versioning
|
||||
|
||||
Tagged releases (`v1.0`, `v1.1`, ...) mark points where the config is in a
|
||||
known-good, "I'd hand this to past-me" state.
|
||||
Day-to-day tweaks happen over time and, once they've proven themselves,
|
||||
eventually land in a version.
|
||||
Reference in New Issue
Block a user