π§ FunMacs β Modern Emacs, Simplified
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.
β¨ 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
π§ 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 | | Nerd Icons Corfu | Displays icons alongside completion candidates |
π 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
π Supported Languages
Funmacs ships with out-of-the-box configurations for popular programming ecosystems:
π§± C / C++
- LSP via
clangdfor autocompletion, diagnostics, and symbol navigation - Tree-sitter highlighting for precise syntax awareness
- On-save formatting with
clang-format
π Python
- LSP powered by
pyrightorpylsp - Built-in support for virtual environments
- Automatic formatting with Black or YAPF
π¦ Rust
- Uses
rust-analyzerfor advanced IDE features - Inline diagnostics and code actions
- Built-in formatter (
rustfmt) and cargo command shortcuts
πΉ 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
- Formatter support using
zig fmt
β‘ JavaScript & TypeScript
- LSP via
typescript-language-server - Tree-sitter-based highlighting for JS/TS/JSX/TSX
- Support for ESLint and Prettier formatting
π Installation
Clone directly into your Emacs configuration directory:
bashgit clone https://github.com/mujaxso/funmacs.git ~/.config/emacs
π Support
If you enjoy Funmacs and want to support ongoing development, you can:
Buy me a coffee: Buy Me A Coffee
Or become a patron on Patreon: Patreon
Your support helps keep Funmacs maintained, updated, and evolving.
π Related Projects
βοΈ License
Funmacs is released under the MIT License.
