pankomacs/emacs/mkEmacs.nix

46 lines
1 KiB
Nix
Raw Normal View History

2024-09-11 18:43:37 +01:00
{ pkgs, ... }:
let
mkEmacsPackage =
epkgs: pname: version: src: deps:
epkgs.callPackage (
{ trivialBuild }:
trivialBuild {
inherit pname version src;
buildInputs = deps;
propagatedUserEnvPkgs = deps;
}
) { inherit (epkgs) trivialBuild; };
in
{
mkEmacs =
emacs:
pkgs.emacsWithPackagesFromUsePackage {
package = emacs;
defaultInitFile = true;
alwaysEnsure = true;
2024-10-04 21:44:24 +01:00
config = ./config.el;
2024-09-11 18:43:37 +01:00
extraEmacsPackages =
e:
builtins.attrValues {
inherit (e)
2024-10-04 21:44:24 +01:00
spacious-padding
nano-modeline
2024-09-11 18:43:37 +01:00
orderless
2024-10-04 21:44:24 +01:00
corfu
which-key
2024-09-11 18:43:37 +01:00
marginalia
2024-10-04 21:44:24 +01:00
vertico
2024-09-11 18:43:37 +01:00
consult
2024-10-04 21:44:24 +01:00
embark
2024-09-11 18:43:37 +01:00
embark-consult
base16-theme
nix-mode
2024-10-14 23:39:21 +01:00
rust-mode
envrc
2024-09-11 18:43:37 +01:00
;
treesit-grammars = e.treesit-grammars.with-all-grammars;
2024-09-11 18:43:37 +01:00
};
override = _: prev: { use-package = prev.emacs; };
};
}