- Added Tree-sitter grammars.
- Attempting to do so led to discovering how janky the previous setup was.
- Previous package "bootstrapping" process looked like
emacsPackage (The selected Emacs build from Nixpkgs)
↓
emacs-wrapper (My wrapper that set envvars and included external deps)
↓
programs.emacs.finalPackage (The package created by the HM module, which
included Nix-managed Emacs packages)
Now, we have
emacsBasePackage (The selected build from Nixpkgs)
↓
my-emacs (My wrapper that manages envvars, external packages, Nix-managed
Emacs packages, and everything else)
`programs.emacs.finalPackage` still exists, but it doesn't do anything that
`my-emacs` doesn't.
Every Nixy solution I could find or conceive had too many points spread across
these various facets:
- Flimsy (emacsWithPackagesFromUsePackage)
- Inelegant (builtins.exec, manual listings)
- Inflexible (emacsWithPackagesFromUsePackage)
- Otherwise unergonomic (everything }:D)
Straight.el is sufficiently declarative, flexible, and Nix-friendly without
blindly bowing down to the imperialist NixOS user. Now, Convenience and
ergonomics shan't be forsaken for the dogma that is total Nixation.
Working:
- The daemon
- Mutable config — well, kinda. I'm not yet sure how it will interact with
`emacsWithPackagesFromUsePackage`.
- Packages via Nixpkgs