- This is a work in progress but I use daily this configuration for
professional programming and administration system works.
See the roadmap at the end of this file and the to-do list. - This is a huge refactoring of =pi-emacs-configuration= using Doom Emacs.
- The last stable Doom Emacs.
- Emacs 29+ compiled with
Tree-sitter support.
Here a bash script example to compile and install an optimized Emacs 29+ version with Tree-sitter support.
- Clone this repository into your
USERDOOMDIR/modules(~/.doom.d/moduleson Linux) :
cd ~/.doom.d/modules && git clone https://github.com/pivaldi/pimacs.git - You can enable PIMacs in two ways :
- Full featured PIMacs as it satisfy MY daily coding needs
In your Doom fileinit.el, at the end of the file, after the(doom! …)\ part, add the code(load! "modules/pimacs/init").\ This will load all the PIMacs modules at once. - Partially featured PIMacs as it satisfy YOUR needs
In your Doom fileinit.el, at the end of the file, after the(doom! …)\ part, add the following code uncommenting the module you want to enabled :
- Full featured PIMacs as it satisfy MY daily coding needs
(doom! :pimacs
default ;; PIMacs default Emacs configuration on top of Doom.
;; aliases ;; Define aliases starting with `_`. The most useful are `_rb`, `_sir`, `_gf`.
;; (theme +no-font) ;; Define some faces and load Zenburn Theme.
;;;; See the `README.md` in the directory `pimacs/theme`
;; (keys +azerty) ;; Define the PIMacs keys binding.
;; session ;; Auto reload the last session at startup through
;;;; `doom/quickload-session` (no desktop bad practice in Doom)
;; etc…
)Remember to run =doom sync= after modifying =init.el= !
- pimacs/aliases: Define useful aliases starting by =_=.
- pimacs/avy: Create key bindings for avy with prefix (Doom does not provide them).
- pimacs/bm: Visible local bookmarks in buffer is a simple and useful complement to the native Emacs bookmark system.
- pimacs/calendar-fr: Configure the calendar for French support.
- pimacs/corfu: Extra configuration of the package COmpletion in Region FUnction.
- pimcas/crypt: PIMacs extra encrypting configuration and features.
- pimacs/default: PIMacs default configuration.
- pimacs/dired: Dired mode specific configuration. See also the auto-generated dired-mode-map key bindings refcard and the dired-mode-map PIMacs key bindings refcard.
- pimacs/doc: Generated PIMacs Documentation. Contains all the Doom and PIMacs fundamental key bindings refcards classed by key bindings prefixes.
- pimacs/docker: Installs and configures Docker Mode.
- pimcas/flyspell: Dictionary switching between two dictionaries with Flyspell.
- pimacs/functions: Define useful functions used under the hood by PIMacs.
- pimacs/keys: PIMacs global-map configuration. See also the auto-generated global-map key bindings refcard and the global-map PIMacs key bindings refcard.
- pimacs/lang-c: Configuration of
Cmode and derived.(setq-default c-basic-offset 2) (c-set-offset 'substatement-open '0) (c-set-offset 'brace-list-open '0) (c-set-offset 'arglist-close '0) (c-set-offset 'statement-case-open '0) (c-set-offset 'arglist-cont-nonempty '4) (c-set-offset 'arglist-intro 'c-basic-offset) - pimacs/lang-go: Configuration for the Go programming language.
Support nativego-ts-mode(Emacs 30+) and standartgo-mode. - pimacs/lang-php: Configuration for the PHP programming language.
Support nativephp-ts-mode(Emacs 29+) and standartphp-mode. - pimacs/lsp: Complet/extend the default Doom configuration of the Langage Server Protocol.
- pimacs/notmuch: This package provides extra configurations of the default Doom Emacs configuration for https://notmuchmail.org/ using https://github.com/pivaldi/notmuch-multi.
- pimacs/origami: Provide/configure the Origami text folding minor mode.
- pimacs/org: Configure the Org mode and add Latex templating.
- pimacs/pairing: Enhanced configuration of smartparens with extended features.
- pimacs/session: Workspace/Session Persistence and Auto Restore Last Session.
- pimacs/theme: Slight customization of the Emacs theme depending the module options used.
- pimacs/tramp: Slight configuration of TRAMP.
TRAMPis a built-in Emacs feature that enables you to access and edit files on remote systems, including those that require authentication usingSSH,SFTP, or other protocols. - pimacs/treesit: Automatically install and use tree-sitter major modes in Emacs 29+.
- pimacs/shrface: This package extends
shr / ewwwith org features and analysis capability. It can be used in dash-docs, eww, nov.el, mu/mu4e, anki.el, elfeed, wallabag.el, etc. More information.
- Module for sql-ts-mode/sql-mode
- Better typescript-ts-mode
- Snippet
- Templating
- Support of Go html template https://github.com/a-h/templ. See https://drshapeless.com/blog/posts/writing-go-templ-with-emacs.html
- Hide password on some files (gpg, authinfo, etc)
- Improve dired experience
- Make a module for direnv support
- Use easy-kill https://github.com/leoliu/easy-kill
- elfeed
- lang-lua
- lang-rust
- lang-asy
- Configure org-mode and markdown support for my needs