mirror of
https://github.com/nix-community/nix-doom-emacs
synced 2025-08-01 12:17:26 -05:00
This change was added to allow evil-collection to compile on latest versions macOS Ventura, the evil-collection version at the time of this change was halting on the compilation of the `evil-collection-speedbar.el` file. Unfortunately, with this approach, although it finishes the nix-doom emacs compilation, leaves doom-emacs' runtime in a faulty state. The emacs package relies on a sub-directory `modes` that doesn't get compiled when specifying this dependency in the overrides list. As a way to make it work as expected on macOS Ventura, users should override the `emacsPackagesOverlay` option and specify the `evil-collection` variable. Following an example ``` { pkgs, ... }: { programs.doom-emacs = { enable = true; emacsPackagesOverlay = _final: _prev: { inherit (pkgs.emacsPackages) evil-collection; }; }; } ```
129 lines
4.4 KiB
Nix
129 lines
4.4 KiB
Nix
/* Usage example in flake.nix:
|
|
|
|
{
|
|
inputs = {
|
|
home-manager.url = "github:nix-community/home-manager";
|
|
nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
home-manager,
|
|
nix-doom-emacs,
|
|
...
|
|
}: {
|
|
nixosConfigurations.exampleHost = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.users.exampleUser = { pkgs, ... }: {
|
|
imports = [ nix-doom-emacs.hmModule ];
|
|
home.doom-emacs = {
|
|
enable = true;
|
|
doomPrivateDir = ./path/to/doom.d;
|
|
};
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|
|
*/
|
|
|
|
{
|
|
description = "nix-doom-emacs home-manager module";
|
|
|
|
inputs = {
|
|
# TODO: change back to master once we get synced back with upstream changes
|
|
doom-emacs.url = "github:doomemacs/doomemacs/3853dff5e11655e858d0bfae64b70cb12ef685ac";
|
|
doom-emacs.flake = false;
|
|
doom-snippets.url = "github:doomemacs/snippets";
|
|
doom-snippets.flake = false;
|
|
emacs-overlay.url = "github:nix-community/emacs-overlay/c16be6de78ea878aedd0292aa5d4a1ee0a5da501";
|
|
emacs-overlay.flake = false;
|
|
emacs-so-long.url = "github:hlissner/emacs-so-long";
|
|
emacs-so-long.flake = false;
|
|
evil-escape.url = "github:hlissner/evil-escape";
|
|
evil-escape.flake = false;
|
|
evil-markdown.url = "github:Somelauw/evil-markdown";
|
|
evil-markdown.flake = false;
|
|
evil-org-mode.url = "github:hlissner/evil-org-mode";
|
|
evil-org-mode.flake = false;
|
|
evil-quick-diff.url = "github:rgrinberg/evil-quick-diff";
|
|
evil-quick-diff.flake = false;
|
|
explain-pause-mode.url = "github:lastquestion/explain-pause-mode";
|
|
explain-pause-mode.flake = false;
|
|
format-all.url = "github:lassik/emacs-format-all-the-code/47d862d40a088ca089c92cd393c6dca4628f87d3";
|
|
format-all.flake = false;
|
|
nix-straight.url = "github:nix-community/nix-straight.el";
|
|
nix-straight.flake = false;
|
|
nose.url = "github:emacsattic/nose";
|
|
nose.flake = false;
|
|
ob-racket.url = "github:xchrishawk/ob-racket";
|
|
ob-racket.flake = false;
|
|
org-contrib.url = "github:emacsmirror/org-contrib";
|
|
org-contrib.flake = false;
|
|
org-yt.url = "github:TobiasZawada/org-yt";
|
|
org-yt.flake = false;
|
|
org.url = "github:emacs-straight/org-mode";
|
|
org.flake = false;
|
|
php-extras.url = "github:arnested/php-extras";
|
|
php-extras.flake = false;
|
|
revealjs.url = "github:hakimel/reveal.js";
|
|
revealjs.flake = false;
|
|
rotate-text.url = "github:debug-ito/rotate-text.el";
|
|
rotate-text.flake = false;
|
|
sln-mode.url = "github:sensorflo/sln-mode";
|
|
sln-mode.flake = false;
|
|
ts-fold.url = "github:jcs-elpa/ts-fold";
|
|
ts-fold.flake = false;
|
|
ws-butler.url = "github:hlissner/ws-butler";
|
|
ws-butler.flake = false;
|
|
|
|
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
flake-compat.url = "github:edolstra/flake-compat";
|
|
flake-compat.flake = false;
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils, ... }@inputs:
|
|
let inherit (flake-utils.lib) eachDefaultSystem mkApp;
|
|
in eachDefaultSystem (system:
|
|
let pkgs = import nixpkgs { inherit system; };
|
|
in {
|
|
apps = {
|
|
default = self.outputs.apps.${system}.doom-emacs-example;
|
|
doom-emacs-example = mkApp {
|
|
drv = self.outputs.packages.${system}.doom-emacs-example;
|
|
exePath = "/bin/emacs";
|
|
};
|
|
};
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
buildInputs =
|
|
[ (pkgs.python3.withPackages (ps: with ps; [ PyGithub ])) ];
|
|
};
|
|
|
|
package = { ... }@args:
|
|
pkgs.lib.warn ''
|
|
nix-doom-emacs no longer supports the deprecated `package` flake output.
|
|
It will be removed after the release of NixOS 23.05.
|
|
|
|
Please use `packages.${system}.default.override { ... }` instead!
|
|
''
|
|
(pkgs.callPackage self args);
|
|
|
|
packages = {
|
|
default = self.outputs.packages.${system}.doom-emacs-example;
|
|
doom-emacs-example = pkgs.callPackage self {
|
|
doomPrivateDir = ./test/doom.d;
|
|
};
|
|
};
|
|
checks = import ./checks.nix { inherit system; } inputs;
|
|
}) // {
|
|
hmModule = import ./modules/home-manager.nix inputs;
|
|
};
|
|
}
|