This is a clean, modular Emacs configuration designed for:
- TypeScript/JavaScript development (Remix apps, React)
- Ruby on Rails development
- Shopify Theme development
- Org-mode productivity (org-roam, org-super-agenda)
- Package Management: Uses
straight.elfor reproducible package management - Modern UI: Doom themes, modeline, dashboard, nerd-icons
- Completion: Corfu for in-buffer completion with LSP integration
- Project Management: Projectile for navigating projects
- Git Integration: Magit, git-gutter, git-timemachine
- Search: Vertico, Consult, Orderless
- Development:
- LSP Mode for intelligent code completion and navigation
- Tree-sitter for better syntax highlighting and code navigation
- Flycheck for real-time syntax checking
- Prettier/Rubocop for auto-formatting
- Language-specific setups for TypeScript/JavaScript, Ruby, HTML, CSS
- Shopify Theme language server integration
- Org Mode:
- Org-roam for knowledge management
- Org-super-agenda for task organization
- Modern visual enhancements
The configuration is organized in a modular way:
early-init.el: Early initialization for better startup performanceinit.el: Main initialization file that loads other modulesconfig/base.el: Core Emacs settingsconfig/ui.el: User interface customizationsconfig/editor.el: Text editing enhancementsconfig/dev-core.el: Core development toolsconfig/typescript.el: TypeScript/JavaScript specific setupconfig/ruby.el: Ruby/Rails specific setupconfig/web.el: HTML/CSS/Shopify specific setupconfig/org.el: Org-mode configuration
- Emacs 29+ (for built-in tree-sitter support)
- Node.js and npm (for JavaScript development tools)
- Ruby (for Rails development)
- Shopify CLI (for Shopify theme development)
- Git
- ripgrep (for fast searching)
- fd (for fast file finding)
- emacs-lsp-booster (for LSP performance)
-
Backup your existing configuration:
mv ~/.emacs.d ~/.emacs.d.backup
-
Clone this repository:
git clone https://github.com/yourusername/emacs-config.git ~/.emacs.d -
Start Emacs and let packages install automatically.
C-c p: Projectile command prefixC-x g: Magit statusC-c t: Open vterm terminalC-c d: Docker commandC-s: Consult line searchC-c n r: Run npm/yarn script
C-c C-l: Insert console.log statement- Many LSP bindings under
C-c lprefix
C-c r c: Open Rails consoleC-c r s: Start Rails server
C-c s v: Validate Shopify theme
C-c a: Org agendaC-c c: Org captureC-c n f: Find org-roam nodeC-c n i: Insert org-roam node link
You can customize this config by:
- Editing the files in
~/.emacs.d/config/ - Creating a
~/.emacs.d/custom.elfile for user-specific customizations
MIT