{"id":15542538,"url":"https://github.com/robdel12/.emacs.d","last_synced_at":"2026-03-11T05:01:31.536Z","repository":{"id":66369050,"uuid":"83922271","full_name":"Robdel12/.emacs.d","owner":"Robdel12","description":"My personal emacs config.","archived":false,"fork":false,"pushed_at":"2025-12-27T22:01:12.000Z","size":228,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-29T22:27:53.006Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Robdel12.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-03-04T20:23:57.000Z","updated_at":"2025-12-27T22:01:16.000Z","dependencies_parsed_at":"2024-10-31T00:12:04.304Z","dependency_job_id":"5b3fc058-a303-48da-a33f-f9ac23c08125","html_url":"https://github.com/Robdel12/.emacs.d","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Robdel12/.emacs.d","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robdel12%2F.emacs.d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robdel12%2F.emacs.d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robdel12%2F.emacs.d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robdel12%2F.emacs.d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Robdel12","download_url":"https://codeload.github.com/Robdel12/.emacs.d/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robdel12%2F.emacs.d/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30372125,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"online","status_checked_at":"2026-03-11T02:00:07.027Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T12:23:20.143Z","updated_at":"2026-03-11T05:01:31.527Z","avatar_url":"https://github.com/Robdel12.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My Emacs config\n\nFast, modern Emacs tuned for web development (JS/TS, HTML/CSS, Docker, APIs, Markdown, Ruby), with a clean UI,\npowerful search, unified formatting, and comprehensive development tools.\n\nClone into `~/.emacs.d` and start Emacs. An Emacs server auto-starts; set `$EDITOR` to `emacsclient`\nif you like.\n\n## Highlights\n\n- **Modeline**: `doom-modeline` with icons, LSP/VC/diagnostics.\n- **Completion**: Vertico + Orderless + Corfu + Cape, plus Marginalia, Embark, and Consult.\n- **Floating prompts**: minibuffer/command palette appears top-center via `mini-frame`.\n- **Search**: `consult-ripgrep` bound to `s-f` (project root via built-in project.el).\n- **Formatting**: Apheleia global on-save formatting (prettierd/prettier, eslint_d, RuboCop, Black). EditorConfig respected.\n- **LSP**: `lsp-mode` with consult integration; diagnostics via built-in Flymake.\n- **UI polish**: Modern coding fonts (JetBrains Mono), base16 theme, pixel-precise resize, smooth scrolling.\n- **Files**: Dirvish (modern dired) + Treemacs with Nerd Icons.\n- **Navigation**: Avy jump (`jj` char, `jk` word, `jl` line), multiple cursors, expand-region.\n- **Git**: Magit for all Git operations.\n- **Web Development**: NPM integration, Node.js REPL, REST client for API testing.\n- **Containers**: Docker management and file editing in containers.\n- **Remote Editing**: TRAMP for SSH file editing and remote project support.\n- **Modern Undo**: Vundo with visual undo tree.\n- **AI**: GitHub Copilot integration for code completion.\n\n## Prerequisites (recommended)\n\n- **Emacs**: Version 29+ required (for built-in project.el, flymake improvements, pixel-scroll-precision-mode).\n- **System**: `brew install ripgrep fd ispell` (search and spell-check).\n- **Fonts**: Install JetBrains Mono: `brew install font-jetbrains-mono` (best coding font with ligatures).\n- **Icons**: Install a Nerd Font (for modeline + Treemacs + Dirvish icons).\n- **Node.js**: `npm i -g @fsouza/prettierd eslint_d typescript-language-server @github/copilot-language-server` (faster format/lint/LSP/AI).\n- **Ruby**: `gem install solargraph rubocop`; prefer Bundler in projects.\n- **Python**: `pip install black`.\n- **Docker**: Install Docker Desktop for container management features.\n- **Emoji**: If your Emacs build doesn't support color fonts, adjust `lisp/init-emojis.el` or use `emacs-plus`.\n\n## Key Bindings\n\n### Search/Project\n- `s-f`: `consult-ripgrep` (project ripgrep)\n- `M-x`: command palette (top-center floating)\n- `C-s`: `consult-line` (in-buffer search)\n- `s-p` / `C-c p`: Project prefix (find file, switch project, etc.)\n- `C-c p s`: `consult-ripgrep` in project\n- `C-c p t`: Open terminal in project root\n\n### Navigation/Editing\n- `jj`: `avy-goto-char`, `jk`: `avy-goto-word-1`, `jl`: `avy-goto-line`\n- `uu`: Vundo visual undo tree (`C-n`/`C-p` to navigate)\n- `M-o`: `ace-window` (pick window)\n- `C-;`: Embark action menu for thing at point\n\n### Git\n- `C-x g`: `magit-status`\n\n### Web Development\n- `C-c N r`: Run NPM script\n- `C-c N i`: NPM install packages\n- `C-c C-z`: Node.js REPL (in JS files)\n- `C-c C-c`: Send HTTP request (in `.http` files)\n\n### Docker\n- `C-c d`: Docker management interface\n\n### Remote Files (TRAMP)\n- `C-c t d`: Open Dired on Pi\n- `C-c t p`: Connect to Pi (interactive prompt)\n- `C-c t h`: Return to local home directory\n- `C-c t b`: Show TRAMP debug buffer\n\n### LSP\n- `C-c l`: LSP prefix (rename, code actions, etc.)\n- `C-c l f`: Format buffer via LSP\n\n### Diagnostics (Flymake)\n- `M-n`: Next error\n- `M-p`: Previous error\n- `M-g f`: `consult-flymake` (list all diagnostics)\n- `C-c ! l`: Show buffer diagnostics\n- `C-c ! L`: Show project diagnostics\n\n### Dired (Dirvish)\n- `a`: Quick access locations\n- `TAB`: Toggle subtree\n- `s`: Quick sort\n- `N`: Narrow/filter\n- `v`: VC menu\n\n## Formatting\n\nApheleia runs on save with sensible defaults:\n\n- JS/TS/TSX/JSON/CSS/SCSS/Markdown/YAML -\u003e `prettierd` (or `prettier`) and `eslint_d` when\n  appropriate.\n- Ruby -\u003e `rubocop` (via Bundler when available).\n- Python -\u003e `black`.\n\nDisable per buffer with `M-x apheleia-mode` or customize `apheleia-mode-alist`.\n\n## UI Notes\n\n- Floating minibuffer: uses `mini-frame`. If native macOS fullscreen hides child frames, try\n  maximized (not fullscreen) or ask for a `vertico-posframe` setup.\n- Icons depend on a Nerd Font and `nerd-icons`. Install a Nerd Font in your OS and select it in your\n  Emacs font settings if necessary.\n\n## Structure\n\n- `init.el` - entrypoint that requires the `lisp/init-*.el` modules\n- `early-init.el` - startup performance optimizations\n\n### Core Modules\n- `lisp/init-ui.el` - UI polish, fonts, smooth scrolling\n- `lisp/init-modeline.el` - doom-modeline\n- `lisp/init-minibuffer.el` - Vertico/Orderless/Consult + Corfu/Cape\n- `lisp/init-float-minibuffer.el` - top-center floating prompts\n- `lisp/init-editing.el` - editing enhancements, vundo, multiple cursors, Copilot\n\n### Language Support\n- `lisp/init-javascript.el` - JS/Node.js + NPM integration\n- `lisp/init-web.el` - HTML/CSS/JSX with Emmet\n- `lisp/init-ruby.el` - Ruby + RuboCop\n- `lisp/init-markdown.el` - Markdown editing\n- `lisp/init-lsp.el` - Language Server Protocol\n\n### Development Tools\n- `lisp/init-vcs.el` - Git (Magit)\n- `lisp/init-http.el` - REST client for API testing\n- `lisp/init-docker.el` - Docker management and container editing\n- `lisp/init-tramp.el` - Remote file editing via SSH\n- `lisp/init-format.el` - Apheleia unified formatting\n- `lisp/init-projectile.el` - Project management (uses built-in project.el)\n- `lisp/init-treemacs.el` - File tree with icons\n- `lisp/init-dired.el` - Dirvish modern file manager\n- `lisp/init-flycheck.el` - Syntax checking (uses built-in Flymake)\n\n## New Features Guide\n\n### REST Client (API Testing)\nCreate `.http` files to test APIs directly in Emacs:\n```http\nGET https://api.github.com/user\nAuthorization: token YOUR_TOKEN\n\n###\n\nPOST https://jsonplaceholder.typicode.com/posts\nContent-Type: application/json\n\n{\n  \"title\": \"Test Post\",\n  \"body\": \"Testing API\",\n  \"userId\": 1\n}\n```\nUse `C-c C-c` to send requests.\n\n### NPM Integration\n- `C-c N r`: Interactive script runner (shows all package.json scripts)\n- `C-c N i`: Install packages with completion\n- `C-c N t`: Run tests\n\n### Docker\n- `C-c d`: Docker management (images, containers, networks)\n- Edit files in containers: `/docker:container_name:/path/to/file`\n\n### Remote File Editing (TRAMP)\nEdit files on remote servers via SSH:\n- `C-c t d`: Quick connect to Pi\n- `C-c t p`: Interactive connection (custom user/host/path)\n- `C-c t h`: Return to local filesystem\n- Manual: `C-x C-f /sshx:user@host:/path/to/file`\n\nWorks with Dired for remote directory browsing. EditorConfig automatically disabled for remote files to prevent timeouts.\n\n### Visual Undo (Vundo)\n- `uu` or `C-x u`: Open visual undo tree\n- `C-n`/`C-p`: Navigate, `RET`: Apply, `q`: Quit\n\n### GitHub Copilot\nAI-powered code completion is enabled in all programming modes.\n- `TAB`: Accept completion\n- `C-TAB`: Accept word-by-word\n- `M-n`/`M-p`: Cycle through suggestions\n\nInstall the language server: `npm install -g @github/copilot-language-server`\n\n## Tips\n\n- Use space-separated terms with Orderless (e.g., `proj buf`).\n- Embark actions work everywhere: try `C-;` during any completion.\n- Project roots are resolved via built-in project.el for Consult commands.\n- JetBrains Mono font provides excellent ligatures for `=\u003e`, `!=`, etc.\n\n## Misc\n\n- Session state like `recentf`, `desktop/`, and `places` is ignored in git.\n- Contributions and PRs to improve languages and ergonomics are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobdel12%2F.emacs.d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobdel12%2F.emacs.d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobdel12%2F.emacs.d/lists"}