Skip to content

blaisep/funmacs-upstream

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Funmacs β€” Modern Emacs, Simplified

Release Stars Forks Open Issues Last Commit
License: MIT Emacs Version PRs Welcome Built with Emacs Lisp

Supported Languages

C C++ Python Rust Go Zig JavaScript TypeScript HTML5 CSS3 JSON YAML Markdown Nix



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.


funmacs.mp4


πŸ“‘ Table of Contents

  1. ✨ Highlights
  2. 🎨 UI & Aesthetics
  3. ⚑ Editing Experience
  4. 🧠 Completion System
  5. πŸ›  Development Features
  6. 🌍 Supported Languages
  7. πŸš€ Installation
  8. πŸ’– Support
  9. πŸ”— Related Projects
  10. βš–οΈ 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 clangd for 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 pyright or pylsp.
  • Built-in support for virtual environments.
  • Automatic formatting with Black or YAPF.
  • REPL integration and code navigation included.

πŸ¦€ Rust

  • Uses rust-analyzer for 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 gopls and 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-mode for writing and syntax highlighting.
  • markdown-preview-mode for 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/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

  • NEOTE – Lightweight next-gen text editor.
  • MujaOS – Modern and secure operating system.

βš–οΈ License

Funmacs is released under the MIT License.
See LICENSE for full details.


🧩 FOSS: foss.land Β β€’Β 
πŸ’» GitHub: @mujaxso Β β€’Β 
🐦 Twitter/X: @mujaxso

About

πŸ‘” FunMacs - Yet Another Lightweight Emacs Configuration, Using KISS philosophy.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Emacs Lisp 93.8%
  • Shell 6.2%