Initial commit for v1.0 of Simply Emacs.

This commit is contained in:
2026-07-24 09:47:24 +02:00
commit 7774e58c79
13 changed files with 1244 additions and 0 deletions
+70
View File
@@ -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.