GitHub - alopezrivera/Seaman-Emacs: Literate, layer-based Emacs configuration fr...
source link: https://github.com/alopezrivera/Seaman-Emacs/tree/main
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Seaman Emacs
Seaman Emacs is a literate, layer-based Emacs configuration framework designed to give you maximal maintainability, extensibility and performance. All in a way you can understand and control from the ground up.
How to use Seaman
Clone this repository to your .emacs.d
. Write your personal configuration in config.org
; all emacs-lisp
source code blocks will be tangled to init.el
every time config.org
is saved.
BOM
Package Manager | Literate Emacs config | Keyboard bindings |
straight.el | config.org (tangled to init.el ) | Emacs + custom bindings |
Features out of the box
The Seaman Base Configuration comes with batteries included!
- UI
Clean, minimalistic UI
- Themes
Easily set light and dark themes, easy theme toggling and circadian theme switching between light and dark themes
- A good welcome
Start screen with quick links to recent files, projects, bookmarks, registers and your weekly agenda
- Full fledged Org mode
Ready for literate programming, daily planning with
org-agenda
+org-super-agenda
, code notebooks for any language, your own zettelkasten withorg-roam
and more - Full fledged PDF support
Annotations and highlights you can save directly to the PDF, light and dark mode, text seach and more
- Magit for version control
A highlight of Emacs: version-control with the best Git front-end of them all
The Seaman Core
The backbone of Seaman Emacs, the Seaman Core, consists of the elisp code responsible for the
- Package manager, currently
straight.el
- Config management
- Seaman Base Configuration
Seaman components: Layers, Modules and Extensions
Emacs has an expansive package landscape, providing it with wide-ranging functionality. Many packages are complementary, and their configuration non-trivial.
Following the approach of Doom Emacs and SpaceMacs, in Seaman Emacs, we combine complementary packages into units called “layers”, each providing a certain set of functionality, for example: PDF handling, LaTeX editing and an Integrated Development Environment.
Layers are composed of:
- Modules: elisp code to install, load and set up an Emacs package.
- Extensions: custom elisp code to add functionality, define custom behaviors, etc.
Loading components:
;; Loading a layer
(seaman-layer 'org)
;; Loading a module
(seaman-module 'org-roam)
;; Loading an extension
(seaman-extend 'org-queries)
Contributing
Components (layers mostly) marked with TODO in seaman.org
have much room for improvement. For example:
- The Project interaction layer
- The IDE layer
- The LaTeX layer
Adding packages and setting up things is easy within layers! And I would love any help to make these better than they are. If you have a good setup and would like to contribute or give a suggestion you’re more than welcome to! :)
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK