Jotain is a custom GNU Emacs configuration built from scratch. The name is Finnish for "something."
The project includes:
lisp/init-*.el)
emacs.nix) for building GNU Emacs from source, with every upstream build flag exposed and pkgs.emacs (nixpkgs) binary-cache parity as an invariant; git-based variants come from nix-community/emacs-overlay
nix/mk-overlay.nix, exposed via flake.nix and the default.nix flake-compat shim) that ships Emacs together with all ~275 tree-sitter grammars from nixpkgs
devenv.nix) with linters, language servers, and docs tooling (Emacs itself is not in the shell — launch it with just run-built)
module.nix) for running Jotain as a user daemon with emacsclient
Justfile task runner covering check, build, launch (just run-built), pins, and cleanup
Jotain takes a different approach from framework-based Emacs configurations like Doom or Spacemacs. Instead of layering on top of an opinionated framework, Jotain is built from scratch with:
pkgs.emacs (nixpkgs) for the default configuration.
init-ui.el, init-completion.el, init-vc.el, …). A package that only exists to enhance a built-in (e.g. dirvish → dired, magit → vc) lives in the same file as the built-in it enhances — there is no "builtins.el" / "third-party.el" split.
emacs "30.1"), with native compilation, tree-sitter modes, lexical binding throughout, and use-package built-in.
setopt by default — user options (defcustom) are set via setopt so :set callbacks and type validation actually run.