Skip to content

Latest commit

 

History

History
59 lines (54 loc) · 1.48 KB

README.org

File metadata and controls

59 lines (54 loc) · 1.48 KB

Overrides for Twist.nix

This is a collection of Emacs Lisp build overrides for twist.nix.

Installation

Add to your flake.nix:

{
  inputs = {
    emacs-overlay.url = "github:nix-community/emacs-overlay";
    twist.url = "github:emacs-twist/twist.nix";
    # Overrides for twist
    twist-overrides.url = "github:emacs-twist/overrides";
    ...
  };

  outputs = {...} @ args: {
    # Your configuration
  };
}

Usage

A minimal configuration example is as follows:

(emacsTwist {
  initFiles = [
    ./init.el
  ];
  lockDir = ./lock;
  # At present, this is not provided from the repository
  inputOverrides = {
    ...
  };
  ...
}).overrideScope' inputs.twist-overrides.overlays.twistScope

If you bring your own overrides too, you can use lib.composeExtensions (or lib.composeManyExtensions) to compose overlays:

(emacsTwist {
  # Omitted to avoid duplicates
  ...
}).overrideScope' (lib.composeExtensions
  inputs.twist-overrides.overlays.twistScope
  (self:super: {
    elispPackages = super.elispPackages.overrideScope' (_eself: esuper: {
      # Define your own overrides
      emacsql-sqlite = esuper.emacsql-sqlite.overrideAttrs (old: {
        buildInputs = ...;
      });
      ...
    });
  })
)

Contribution

This repository welcomes contribution.