Strategies for literate config in org-mode

This page summarizes the projects mentioned and recommended in the original post on /r/emacs

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • emacs

    Yet another Emacs configuration. (by DiamondBond)

  • dotfiles

    Literate configuration for linux box and emacs. (by xcapaldi)

  • I follow a very similar approach, keeping everything related to Emacs in one org file to be tangled to early init, init, or system specific files. I do however install org mode via straight.el by triggering the install in my init.el before tangling the org file. Here is my config: https://github.com/xcapaldi/dotfiles/blob/main/config.org

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • straight.el

    Discontinued 🍀 Next-generation, purely functional package manager for the Emacs hacker. [Moved to: https://github.com/radian-software/straight.el] (by raxod502)

  • ;;; init.el -*- lexical-binding: t; -*- (require 'subr-x) ; for string-remove-suffix ;;; We will be using no-littering, but we need first to tell straight to keep ;;; repo and build directories out of the way (defun neo/litter-directory (&optional leaf-dir version) (let* ((dir (directory-file-name (file-name-directory user-emacs-directory))) (distribution (string-remove-suffix ".d" dir)) (package-dir (if leaf-dir leaf-dir "")) (version-dir (if version version ""))) (file-name-as-directory (format "%s-save.d/%s/%s" distribution package-dir version-dir)))) (setq straight-base-dir (neo/litter-directory)) (setq straight-build-dir (neo/litter-directory "straight/build" emacs-version)) ;;; streaight.el bootstrap code from https://github.com/raxod502/straight.el#getting-started ;;; NOTE: the directory used to be user-emacs-directory, we are moving packages ;;; out of our configuration and in places compatible with no-littering (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" straight-base-dir)) (bootstrap-version 5)) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" 'silent 'inhibit-cookies) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) ;;; Install org from upstream repo before using org-babel, or we would ;;; get whatever old version is distributed with Emacs. (straight-use-package '(org :type git :repo "https://code.orgmode.org/bzg/org-mode.git" :local-repo "org" :depth full :pre-build (straight-recipes-org-elpa--build) :build (:not autoloads) :files (:defaults "lisp/*.el" ("etc/styles/" "etc/styles/*")))) (straight-use-package 'use-package) ;; Configure use-package to use straight.el by default (use-package straight :custom (straight-use-package-by-default t)) (require 'ox-org) (with-temp-buffer (insert-file-contents "~/neo/neo.org") ;; TODO should export to a different file and move to this only if different ;; this would allow us to cache neo-flat.el. (let* ((flat-neo-config-dir (neo/litter-directory "neo")) (flat-neo-config-file (expand-file-name "neo-flat.org" flat-neo-config-dir))) (make-directory flat-neo-config-dir t) (org-export-to-file 'org flat-neo-config-file) (org-babel-load-file flat-neo-config-file)))

  • jcs-elpa

    ELPA for jcs-emacs, using github-elpa

  • It is possible to install custom packages using package.el by maintaining your own registry. See https://github.com/jcs-emacs/jcs-elpa for example

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts