chrisbarrett / .emacs.d

My personal Emacs configuration.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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.

nix run

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.

{
  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
            ];
          };
        };
      };
  };
}

About

My personal Emacs configuration.


Languages

Language:Emacs Lisp 89.0%Language:YASnippet 8.9%Language:Nix 1.8%Language:Makefile 0.3%Language:HTML 0.1%Language:Shell 0.0%