Mujahid Siyam
Mujahid Siyam
  • Projects
  • Blog
  • Music
  • About
  • Contact

Let's Connect

Ready to bring your next project to life? Let's discuss how we can work together.

Get in touch
Mujahid Siyam
Mujahid Siyam

Software Engineer β€’ AI/ML Engineer

Building cutting-edge solutions with code, AI, and innovative technology.

Quick Message

Β© 2025 Mujahid Siyam. All rights reserved.
Built withandOpen Source
LinuxZigAI/MLDevSecOps
Back to Projects

FunMacs - Modern Emacs Configuration

Yet Another Lightweight Emacs Configuration, Using KISS philosophy

View on GitHubVisit Website
πŸ“… 10/22/2025Development Tools

🧠 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 clangd for autocompletion, diagnostics, and symbol navigation
  • Tree-sitter highlighting for precise syntax awareness
  • On-save formatting with clang-format

🐍 Python

  • LSP powered by pyright or pylsp
  • Built-in support for virtual environments
  • Automatic formatting with Black or YAPF

πŸ¦€ Rust

  • Uses rust-analyzer for advanced IDE features
  • Inline diagnostics and code actions
  • Built-in formatter (rustfmt) and cargo command shortcuts

🐹 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
  • 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:

bash
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.

Technologies Used

["emacs""lsp""tree-sitter""editor""configuration"]