Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chrisbarrett/.emacs.d

My personal Emacs configuration.
https://github.com/chrisbarrett/.emacs.d

Last synced: 3 months ago
JSON representation

My personal Emacs configuration.

Awesome Lists containing this project

README

        

#+TITLE: Emacs Config

My personal Emacs configuration. It's a chonker.

I don't recommend anyone else actually uses this as-is since it's a personal
setup that I change regularly.

* Setup
[[https://nixos.org/][Nix]] is used to build an Emacs along with 3rd-party Lisp packages and required
programs on its path. It should be sufficient to install a recent Nix that has
Flake support to get this running.

#+begin_src sh
nix run
#+end_src

* Nix Flake Usage
To integrate this with your system configuration, pull in the Flake and consume
the appropriate output package for your system.

The example below is for nix-darwin; a NixOS configuration would look very
similar.

#+begin_src nix
{
description = "Example flake using custom Emacs build";

# NB. You could use a local checkout instead: "dir:/path/to/checkout"
inputs.emacs.url = "github:chrisbarrett/.emacs.d";

outputs = { self, emacs, home-manager, nix-darwin }: {
# e.g. ...
darwinConfiguration.testMachine =
let system = "aarch64-darwin";
in
nix-darwin.lib.darwinSystem {
inherit system;

modules = [
home-manager.darwinModules.home-manager
];

nixpkgs.overlays = [ emacs.overlays."${system}".default ];

home-manager = {
users.hello = { pkgs, ... }: {
home.packages = [
pkgs.emacsCustom
];
};
};
};
};
}
#+end_src