refactor(packages): expose mkEmacs function

This commit is contained in:
Artur Manuel 2025-01-28 16:27:51 +00:00
commit 0c281f506d
4 changed files with 55 additions and 48 deletions

49
lib.nix Normal file
View file

@ -0,0 +1,49 @@
final: prev: {
mkEmacs = {
pkgs,
emacs,
}: let
mkEmacsPackage = {
epkgs,
pname,
version,
src,
deps ? [],
}:
epkgs.callPackage (
{trivialBuild}:
trivialBuild {
inherit pname version src;
buildInputs = deps;
propagatedUserEnvPkgs = deps;
}
) {inherit (epkgs) trivialBuild;};
in
pkgs.emacsWithPackagesFromUsePackage {
package = emacs;
defaultInitFile = true;
config = ./config.el;
extraEmacsPackages = epkgs:
builtins.attrValues {
inherit
(epkgs)
spacious-padding
mood-line
which-key
helm
base16-theme
nix-mode
rust-mode
haskell-mode
envrc
eat
vterm
;
treesit-grammars = epkgs.treesit-grammars.with-all-grammars;
};
override = _: prev: {
use-package = prev.emacs;
savehist = prev.emacs;
};
};
}