github-actions[bot] 9021e41786 flake.lock: Updating 'org (emacs-straight/org-mode)' - eb5ef0ae -> fe1f4f2c
### Changes for org

On branch: main
Commits: eb5ef0ae14...fe1f4f2ccf

- [33686b99](33686b9955) org.el: Pass link match data to `org-file-apps' functions
- [6e9ea3a0](6e9ea3a076) org.el: Preserve case for link subgroups from `org-file-apps'
- [f25b308a](f25b308af6) org.el: Avoid dlink identifiers in `org-open-file'
- [7c20552e](7c20552ed6) org-babel-load-languages: Link to the manual for language list
- [3f3ff643](3f3ff643d2) org-clock: Make quarter work as parameter for :step in clocktable
- [583c01c0](583c01c084) etc/ORG-NEWS: Document new ":step quarter" value
- [c9db3c51](c9db3c51ab) test-org-clock/clocktable/step: Add test for the new ":step quarter"
- [0432f4fe](0432f4fe6b) ol.el: Restore complete by description for insert link
- [4d8c6fbf](4d8c6fbf7a) org-up-heading-safe: Consider inlinetasks
- [2737128a](2737128aa7) org-back-to-heading: Use cache
- [543a23a5](543a23a57d) Revert "lisp/ol.el: Fix bug when storing links"
- [f7b85102](f7b8510283) ol.el: Skip #CUSTOM_ID when <<target>> link is stored
- [c3d6672c](c3d6672cfd) ol.el: Avoid links like "[[target][file:~/org/test.org::target]]"
- [4fc2c8dd](4fc2c8dd89) org-store-link: Default to empty description for target/custom-id links
- [8ec328e8](8ec328e827) org-log-beginning: Fix for headline at eob with no trailing newline
- [f8d740f7](f8d740f707) org-log-beginning: Fix edge case when we create logbook at eob
- [86c4635d](86c4635dba) test-org-link/store-link: Update tests for 4fc2c8dd8
- [2d380265](2d38026581) Do not assert Org version in root Org libraries
- [1a5e3f93](1a5e3f931c) testing: Make all files use `lexical-binding`
- [17b51973](17b51973bd) * lisp/org.el (org-log-beginning): Fix parens
- [6074a22b](6074a22bcb) testing: Address FIXMEs identified in 1a5e3f931
- [e3348ccc](e3348ccc03) org-batch-test-init: Remove dead code
- [69b36bea](69b36beac7) ol.el: Always prompt for description in `org-insert-link'
- [6d8d7fba](6d8d7fba61) ol.el: Mention that `org-insert-link' may edit existing link
- [1de67d0b](1de67d0b41) org-element--cache-sync: Quit early when no cache requests are queued
- [8cc821bd](8cc821bda2) org-agenda-get-sexps: Query headline at point once in skip function
- [cb8bf4a0](cb8bf4a0d0) org-babel-expand-references: Fix :noweb-ref expansion
- [62a52b56](62a52b56bc) Update my maintainer email
- [1ae801e9](1ae801e9c8) org: Add "mark domain as safe" convenience action
- [1061db94](1061db94ac) org: Tweak styling of url in resource prompt
- [795783d6](795783d644) ox-latex: Remove unused argument
- [4d8d7d6c](4d8d7d6cb4) ox-latex: Fix string/symbol engraved-preamble val
- [be2246a5](be2246a550) ox-latex: Change lost in conflict resolution
- [a526ea6a](a526ea6a3e) Fix compiler warnings
- [0057cc21](0057cc21e1) Improve agenda performance
- [f1a19740](f1a197401c) org-fold-core-regions: Avoid multiple evaluation of argument
- [7e9d9272](7e9d927298) org-element--cache-active-p: Improve performance
- [e9bd219e](e9bd219e35) org-element--cache-verify-element: Improve performance
- [c35a8560](c35a856048) org-in-archived-heading-p: Improve performance
- [4075662c](4075662c29) org-diary-sexp-entry: Cache results
- [c940b460](c940b460c7) ox-texinfo: Include LaTeX in Texinfo exports
- [95df82c5](95df82c5fc) org.el: Support subtree-level org-image-actual-width overriding
- [3e3588dc](3e3588dc75) org-agenda-skip: Improve performance
- [4657cea4](4657cea495) org-agenda-get-timestamps: Improve performance
- [d4fde298](d4fde298b9) org-agenda-get-sexps: Improve performance
- [6a5f6756](6a5f67567e) fixup! org-agenda-get-sexps: Improve performance
- [ae2140b1](ae2140b1e6) org-manual: Fix typo in beamer example
- [9dde8241](9dde82411a) org-table: Prevent Emacs from merging displayed separator spaces
- [d240386c](d240386c10) org-diary-sexp-entry: Re-use cached nil return values
- [6a82d17c](6a82d17c89) ob-tangle: New tangle-finished hook
- [5a96768d](5a96768dfa) manual: Document org-babel-tangle-finished-hook
- [f0ff1df4](f0ff1df486) manual: Note undocumented tangle hooks
- [9bd8a99a](9bd8a99a6e) org-agenda-get-sexps: Avoid excessive calls to `org-agenda-skip'
- [0a6a56c8](0a6a56c804) org-adapt-indentation: Fix 'headline-data checks
- [392ccbbf](392ccbbf5d) ob-core: Display position of executed babel blocks
- [d1c6d020](d1c6d02092) ob-core: Display type of element babel executes
- [e8a797e1](e8a797e143) ob-core: Display babel execution time
- [764642f5](764642f55b) ob-clojure.el: Add support for babashka and nbb backend
- [3b0c4ad2](3b0c4ad207) lisp/org.el: Do not skip loading org-loaddefs when using `eval-buffer'
- [36c27f11](36c27f11d9) lisp/ox.el: Add Persian/Farsi translation to `org-export-dictionary'
- [1a8490b0](1a8490b031) Remove request-assign-future.txt
- [6b729e24](6b729e24f2) README_ELPA: Remove from the repository
- [f99902ec](f99902ecdf) ox-publish: Allow linking to encrypted Org files
- [3e9f98c6](3e9f98c691) * lisp/ox-html.el (org-html-doctype-alist): Fix system identifier for XHTML 1.1 DTD
- [fd195266](fd195266dd) lisp/org-macs.el: Minor docstring enhancements
- [235c72e3](235c72e31f) lisp/org.el: Do not skip loading org-loaddefs when using `eval-buffer'
- [cf932474](cf93247473) ox-publish: Allow linking to encrypted Org files
- [0d8440f5](0d8440f55d) * lisp/ox-html.el (org-html-doctype-alist): Fix system identifier for XHTML 1.1 DTD
- [ad52345f](ad52345f00) org-element-cache: Report buffer size for unregistered modifications
- [a2d1806f](a2d1806f66) lisp/ox-latex.el: Fix docstring typos
- [52be6f0f](52be6f0f4a) Rename README and CONTRIBUTE as README.org and CONTRIBUTE.org
- [c29d3e99](c29d3e997d) * mk/targets.mk (ORGVERSION): Prefer lisp/org.el version header
- [c8e0a402](c8e0a402df) org: Prefer standard version format accepted by `version-to-list'
- [73f25bba](73f25bba8f) * lisp/org-macs.el (org-assert-version): Use more lax assertion
- [2e012db3](2e012db31a) org.el: Make sure `org-add-log-note' runs at the end of Org command
- [aa3eac14](aa3eac143d) ob-C: do not swallow double quotes on raw output
- [c5368323](c536832308) lisp/ob-clojure.el: Add Daniel Kraus as maintainer
- [252a062b](252a062bf8) CONTRIBUTE.org: Try to be more effective in giving directions
- [d7a55bbd](d7a55bbd53) org-latex-export-to-latex: Do not suppress major modes in babel
- [af6b48e8](af6b48e801) doc/org-manual.org fix capture Template elements typo
- [791ea505](791ea50528) * lisp/org-element.el (org-element--cache-active-p): Fix compiler warning
- [e9781f1c](e9781f1c08) org-fold-core: Respect 'ignore-indirect optimization better
- [fe1f4f2c](fe1f4f2ccf) fixup! org-fold-core: Respect 'ignore-indirect optimization better
2022-09-30 02:32:36 +00:00
2022-07-10 19:48:51 +01:00
2022-09-03 21:45:31 +01:00

nix-doom-emacs

Status
Build on master Build Status on master
Dependency updater Dependency Updater Status
Matrix Chat Matrix Chat

Nix expression to install and configure doom-emacs.

The expression builds a doom-emacs distribution with dependencies pre-installed based on an existing ~/.doom.d directory.

It is not a fully fledged experience as some dependencies are not installed and some may not be fully compatible as the version available in NixOS or emacs-overlay may not be compatible with the doom-emacs requirements.

Getting started

Using home-manager:

{ pkgs, ... }:

let
  doom-emacs = pkgs.callPackage (builtins.fetchTarball {
    url = https://github.com/nix-community/nix-doom-emacs/archive/master.tar.gz;
  }) {
    doomPrivateDir = ./doom.d;  # Directory containing your config.el init.el
                                # and packages.el files
  };
in {
  home.packages = [ doom-emacs ];
}

./doom.d should contain the following three files: config.el, init.el and packages.el. If you don't already have an existing doom-emacs configuration, you can use the contents of test/doom.d as a template.

Using flake.nix:

{
  inputs = {
    home-manager.url = "github:nix-community/home-manager";
    nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
  };

  outputs = {
    self,
    nixpkgs,
    lib,
    home-manager,
    nix-doom-emacs,
    ...
  }: {
    nixosConfigurations.exampleHost = lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        home-manager.nixosModules.home-manager
        ({
          home-manager.users.exampleUser = lib.mkMerge [
            nix-doom-emacs.hmModule
            { ... }: {
              programs.doom-emacs = {
                enable = true;
                doomPrivateDir = ./doom.d;
              };
            }
          ];
        })
      ];
    };
  };
}

Under the hood

This expression leverages nix-straight.el under the hood for installing dependencies. The restrictions of that package apply here too.

Usage

instead of running emacs.d/bin/doom, once you have update your config files (packages.el, init.el, config.el), rebuild doom-emacs with nix. If you are using home-manager, simply run home-manager switch

Troubleshooting

On macOS on a fresh install, you might run into the error Too many files open. running ulimit -S -n 2048 will only work for the duration of your shell and will fix the error

Installing emacs packages

In the initial packages.el instructions for how to install packages can be found. However some packages might require a particular software dependency to be installed. Trying to install those would give you an error of the type: Searching for program: No such file or directory, git (Missing git dependency) Here is how you would go installing magit-delta for example (which requires git).

Under the line: doomPrivateDir = ./doom.d; in your configuration, you would add the following:

{
  emacsPackagesOverlay = self: super: {
     magit-delta = super.magit-delta.overrideAttrs (esuper: {
       buildInputs = esuper.buildInputs ++ [ pkgs.git ];
     });
  };
}

To make the git dependency available. trying to rebuild doom-emacs with home-manager switch should work correctly now.

Using the daemon

To use the daemon, simply enable the emacs service (with NixOS, home-manager or nix-darwin) and use the doom emacs package. doom-emacs will need to be referenced at the top of your config file.

{
  services.emacs = {
    enable = true;
    package = doom-emacs; # Not needed if you're using the Home-Manager module instead
  };
}

to connect to the daemon you can now run emacsclient -c

Description
doom-emacs packaged for Nix [maintainers=@ckiee,@thiagokokada]
Readme MIT 3.3 MiB
Languages
Nix 64.3%
Emacs Lisp 35.7%