🧠 Funmacs — Modern Emacs, Simplified
Supported Languages

Skip the configuration rabbit hole. Funmacs is a production-ready Emacs setup with modern tooling baked in—LSP integration using eglot, tree-sitter parsing, and a refined completion experience. Its modular core/ and modules/ architecture means you can extend or strip down features without breaking anything.
Funmacs is a modern, production-ready Emacs configuration built for developers who want a powerful yet elegant experience — no yak-shaving required.
It’s built around a modular architecture, integrates LSP, Tree-sitter, and Corfu-based completion, and delivers a polished UX that just works out of the box.
📑 Table of Contents
- ✨ Highlights
- 🎨 UI & Aesthetics
- ⚡ Editing Experience
- 🧠 Completion System
- 🛠 Development Features
- 🌍 Supported Languages
- 🚀 Installation
- 💖 Support
- 🔗 Related Projects
- ⚖️ License
✨ Highlights
- 🚀 Zero Setup — Start coding instantly with pre-configured defaults.
- 🧩 Modular Design — Enable or disable features with minimal effort.
- ⚙️ Modern Toolchain — Tree-sitter, Eglot, and Corfu baked in.
- 🎯 Optimized for Productivity — Smart defaults and minimal distractions.
- 🧘 Clean Aesthetic — A distraction-free, beautiful interface.
🎨 UI & Aesthetics
- 🪄 Minimal interface — no unnecessary menu/tool bars.
- ⚡ Doom modeline for rich status info with Nerd Font icons.
- 💡 Which-key integration to guide you through keybindings.
- 🎨 Custom themes for both light and dark modes.
- 🧘 Clean typography and layout for long coding sessions.
⚡ Editing Experience
- ✨ Automatic tag closing in markup and HTML modes.
- 🔢 Relative line numbers for easier navigation.
- 🧭 Vundo — tree-structured undo/redo history.
- 🔇 Bell sound disabled (no more beeps!).
- 💨 Smooth scrolling and consistent indentation defaults.
🧠 Completion System
| Component | Description |
|---|---|
| Vertico | Lightweight and fast minibuffer completion UI. |
| Orderless | Fuzzy, flexible, and intuitive matching style. |
| Corfu | Pop-up completion menu for inline suggestions. |
| Embark | Contextual actions for completion items. |
| Cape | Adds additional completion sources (symbols, files, etc.). |
| Nerd Icons Corfu | Displays icons alongside completion candidates. |
🧩 The result is a refined, modern completion experience that rivals VS Code or JetBrains IDEs—without leaving Emacs.
🛠 Development Features
- 🧰 Eglot (LSP) – Language Server Protocol integration for code intelligence.
- 🌳 Tree-sitter – Modern syntax highlighting and structural parsing.
- ⚙️ Automatic grammar installation for supported languages.
- ✨ Apheleia – Asynchronous and fast code formatting.
- 📦 Language-specific template snippets included by default.
- 🧠 Intelligent indentation and syntax-aware editing.
🌍 Supported Languages
Funmacs ships with out-of-the-box configurations for popular programming ecosystems.
Each language module includes LSP integration, formatting, syntax highlighting, and completion support.
🧱 C / C++
- LSP via
clangdfor autocompletion, diagnostics, and symbol navigation. - Tree-sitter highlighting for precise syntax awareness.
- On-save formatting with
clang-format. - Ready for CMake-based and Makefile projects.
🐍 Python
- LSP powered by
pyrightorpylsp. - Built-in support for virtual environments.
- Automatic formatting with Black or YAPF.
- REPL integration and code navigation included.
🦀 Rust
- Uses
rust-analyzerfor advanced IDE features. - Inline diagnostics and code actions.
- Built-in formatter (
rustfmt) and cargo command shortcuts. - Tree-sitter for rich syntax highlighting.
🐹 Go
- LSP with
goplsand on-save formatting. - Auto-imports and completion for packages.
- Integrated testing workflow via
go test.
⚡ Zig
- LSP via
zls(Zig Language Server). - Tree-sitter grammar for Zig syntax highlighting.
- Integrated build and run commands for quick iteration.
- Formatter support using
zig fmt. - Autocompletion for symbols, imports, and built-ins.
⚡ JavaScript & TypeScript
- LSP via
typescript-language-server. - Tree-sitter-based highlighting for JS/TS/JSX/TSX.
- Support for ESLint and Prettier formatting.
- Module snippets for React, Vue, and Svelte frameworks.
🌐 Web Development
- First-class HTML and CSS support.
- Autoclosing tags, attribute completion, and live linting.
- Framework-specific modules for React, Vue, Svelte, TailwindCSS.
⚙️ Configuration & Markup
- Syntax highlighting for JSON, YAML, Nix, and more.
- Tree-sitter parsing ensures accurate indentation and folding.
- LSP and schema validation for configuration files.
📝 Markdown
markdown-modefor writing and syntax highlighting.markdown-preview-modefor real-time preview in another buffer.- Perfect for documentation, notes, and technical writing.
🚀 Installation
Clone directly into your Emacs configuration directory:
git clone https://github.com/itsmawja/funmacs.git ~/.config/emacs
💖 Support
If you enjoy Funmacs and want to support ongoing development, you can:
Or become a patron on Patreon:

Your support helps keep Funmacs maintained, updated, and evolving.
🔗 Related Projects
⚖️ License
Funmacs is released under the MIT License.
See LICENSE for full details.
🧩 FOSS: foss.land •
💻 GitHub: @itsmawja •
🐦 Twitter/X: @itsmawja
