jy ❯
github ⑂
#+TITLE: jotain
#+AUTHOR: jylhis
#+DESCRIPTION: a GNU Emacs configuration built from scratch

* Something, from scratch

Jotain is Finnish for “something” — a custom GNU Emacs configuration with no framework underneath. Instead of layering on Doom or Spacemacs, it is built from scratch: Nix builds the editor from source, plain Elisp configures it.

[ quickstart ] [ view on github ] gnu emacs 30+ · nix · elisp

** DONE What ships

- emacs.nix — Emacs from source, every build flag exposed, binary-cache parity with nixpkgs
- lisp/init-*.el — modular config, one file per concern; magit lives with vc, dirvish with dired
- default.nix — distribution wrapper + all ~275 tree-sitter grammars
- module.nix — home-manager service: daemon + emacsclient
- devenv.nix — the same Emacs for developers and tools
- Justfile — check, build, run, pins, cleanup
// currently
› targeting emacs 30.1 — native comp, tree-sitter, lexical binding
› setopt for every defcustom, so :set callbacks actually run

** Quickstart

#+begin_src bash
git clone https://github.com/Jylhis/jotain.git && cd jotain
devenv shell   # emacs 30.1, just, nil, treefmt, nerd fonts
just run       # GUI — --init-directory=<repo>, never touches ~/.emacs.d
just build     # standalone: emacs 30 + 275 tree-sitter grammars
#+end_src

First launch bootstraps anything Nix doesn’t provide from MELPA; later launches load from the package cache.

** Read the manual

C-s search · C-x b / n / p switch buffer · click tabs · ☾ theme