Personal Knowledge Base

Table of Contents

1. Welcome

This is my personal knowledge base and configuration repository, built with Org-mode and published to GitHub Pages. It contains technical notes, learning resources, and editor configurations written in literate programming style.

1.1. What's Here

  • Editor Configurations: Emacs and Neovim setups with detailed explanations
  • AI Agent Configs: Claude Code slash commands, skills, and MCP integrations
  • Learning Notes: Programming books (SICP, K&R C), tools, and documentation
  • System Setup: Linux configuration, dotfiles, and system administration

1.2. Features

  • Literate Programming: All configurations are documented and explainable
  • Floating TOC: Easy navigation with sticky table of contents
  • Dark Mode: Automatic theme switching based on system preference
  • Responsive: Works on desktop, tablet, and mobile devices

2. Emacs

Complete Emacs configuration and learning resources using literate programming with Org-mode.

2.1. Emacs Configurations

My complete Emacs configuration written in literate programming style. The configuration is split into focused, modular files for better organization and maintainability.

Structure:

  • 13 main configuration modules (early-init, init, theme, window, completion, etc.)
  • 5 programming language modules (general, web, Python, Ruby)
  • All configs include detailed inline documentation
  • Tangle support to generate ~/.emacs.d/ files

Highlights:

  • Performance optimizations and native compilation setup
  • Custom mode line with clean, minimal design
  • Modern completion framework (Corfu)
  • LSP support for multiple languages
  • Git integration with Magit

Total: ~4,000 lines across 18 modular files

See also: Configuration Guide | Programming Config Guide

2.2. Writing & Coding Config (Lightweight)

A lighter, single-file Emacs configuration focused on writing with enough coding support for embedded code in documents.

Highlights:

  • Distraction-free writing with Olivetti, flyspell, and word count
  • Org-mode with org-modern and full babel language support
  • Doom-like workspace management (M-1 to M-9)
  • Tree-sitter highlighting and Eglot LSP
  • Only 8 external packages, everything else built-in
  • Tangles to ~/.emacs-writing.d/ (separate from main config)

2.3. Neovim Configurations

Minimal, efficient Neovim configuration following suckless philosophy.

Highlights:

  • Lua-based configuration with lazy loading
  • LSP support for multiple languages (Python, Ruby, TypeScript, Lua)
  • Telescope for fuzzy finding
  • Treesitter for syntax highlighting
  • Mason for LSP management

Total: ~800 lines across 5 modules

2.4. Learning Emacs Lisp

Comprehensive guide to Emacs Lisp for experienced developers. Covers the language from basics to advanced topics with practical examples.

Topics:

  • Language fundamentals (data types, functions, variables)
  • Control structures and iteration
  • Lists and data structures
  • Object-oriented programming with EIEIO
  • Macros and metaprogramming
  • Buffer manipulation and text processing
  • Mode development
  • Package management

Format: Tutorial-style with executable code blocks and exercises

Size: ~1,150 lines

2.5. Building Emacs from Source

Step-by-step guide for building Emacs from source code on various platforms.

Contents:

  • Prerequisites and dependencies
  • Build configuration options
  • Native compilation setup
  • Platform-specific instructions
  • Troubleshooting common build issues

Platforms: Linux, macOS, Windows

3. Development Tools

Configuration and documentation for development tools and AI assistants.

3.1. Claude Code Configurations

Literate configuration for Claude Code (Anthropic's AI coding assistant) written in Org-mode with comprehensive documentation.

Structure:

  • Project settings and permissions
  • Slash commands for common workflows (commit messages, org-roam capture)
  • Agent skills organized by domain:
    • Core skills (general development patterns)
    • Emacs integration skills
    • Language-specific skills (JavaScript, Python, Rails)
    • Documentation skills
  • MCP server integrations (Emacs, filesystem)

Format: Literate programming with tangle support to .claude/ directory

Total: ~3,500 lines across 11 modules

See also: Configuration Guide

4. Learning

Notes and exercises from programming books and technical documentation. See Learning Index for full listing.

4.1. Structure and Interpretation of Computer Programs

Study notes and exercises from the classic computer science textbook SICP (Abelson & Sussman).

Chapters:

  1. Building Abstractions with Procedures - Functions, recursion, higher-order procedures
  2. Building Abstractions with Data - Data abstraction, hierarchical data, symbolic data
  3. Modularity, Objects, and State - Assignment, mutable data, concurrency
  4. Metalinguistic Abstraction - Interpreters, lazy evaluation, logic programming
  5. Computing with Register Machines - Machine simulation, compilation

Language: Scheme

4.2. The C Programming Language (K&R)

Complete text of "The C Programming Language, 2nd Edition" by Kernighan and Ritchie in Org-mode format.

Coverage: All chapters with code examples and exercises

4.3. GNU sed - Stream Editor

Comprehensive guide to the GNU sed stream editor, from basics to advanced text processing.

Topics: Stream editor fundamentals, regular expressions, pattern/hold space, multi-line processing

5. Notes

System configuration, dotfiles, and setup documentation.

5.1. Arch Linux Setup Guide

Personal guide for setting up and configuring Arch Linux from scratch.

Contents:

  • Installation procedure
  • Post-installation configuration
  • Desktop environment setup
  • Package management
  • System maintenance

Target: Arch Linux and Arch-based distributions

5.2. Dotfiles Configuration

My personal dotfiles and system configuration files with explanations.

Includes:

  • Shell configuration (zsh, bash)
  • Terminal emulator configs
  • Git configuration
  • Development environment setup
  • Custom scripts and utilities

Total: ~630 lines of documented configurations

6. Recent Updates

  • 2025-12-14: Reorganized Claude Code skills by domain (Emacs, JS, Python, Rails, Docs)
  • 2025-12-14: Simplified slash commands (commit-message, roam-capture)
  • 2025-12-14: Updated index files and documentation
  • 2025-12-01: Added Neovim configuration modules
  • 2025-11-20: Split programming configurations by language (web, Python, Ruby)
  • 2025-11-20: Added floating TOC sidebar with mobile toggle
  • 2025-11-19: Restructured Emacs configs into modular files

7. Navigation

7.1. By Category

Category Files Description
Emacs 21 Emacs config modules + learning
Neovim 5 Neovim Lua configuration
Claude Code 11 AI assistant commands, skills, MCP
Learning 3 SICP, K&R C, GNU sed
Notes 2 System setup and dotfiles
Dotfiles 5 IdeaVim, Alacritty, Zellij, etc.

7.2. Quick Links

7.2.1. Editor Configs

7.2.2. AI & Tools

7.2.3. External

8. About This Site

8.1. Technical Details

  • Generator: Emacs Org-mode (ox-publish)
  • Styling: Vanilla CSS with GitHub Flavored Markdown design
  • Hosting: GitHub Pages
  • Source: mandoo180/mandoo180.github.io

8.2. Building Locally

# Clone repository
git clone https://github.com/mandoo180/mandoo180.github.io
cd mandoo180.github.io

# Build site
./build.sh

# Serve locally (in Emacs)
M-x package-install RET simple-httpd RET
M-x httpd-serve-directory RET ./public RET

8.3. Tangling Emacs Configs

# Extract all configurations to ~/.emacs.d/
./tangle.sh

9. Contact

Feel free to explore, reference, or adapt any content for your own use.

Last updated: 2025-12-14