pankomacs/lib.nix
2025-03-22 16:52:52 +00:00

61 lines
1.2 KiB
Nix

inputs:
let
mkEmacsPackage =
{
epkgs,
pname,
version,
src,
deps ? (epkgs: [ ]),
}:
epkgs.trivialBuild {
inherit pname version src;
buildInputs = deps epkgs;
propagatedUserEnvPkgs = deps epkgs;
};
mkPankomacs =
{
pkgs,
emacs,
}:
(pkgs.appendOverlays [ inputs.emacs.overlays.default ]).emacsWithPackagesFromUsePackage {
package = emacs;
defaultInitFile = true;
config = ./config.el;
extraEmacsPackages =
epkgs:
builtins.attrValues {
inherit (epkgs)
spacious-padding
mood-line
helm
base16-theme
nix-mode
rust-mode
haskell-mode
qml-mode
tuareg
envrc
;
treesit-grammars = epkgs.treesit-grammars.with-all-grammars;
};
override =
_: prev:
builtins.listToAttrs (
map
(name: {
inherit name;
value = prev.emacs;
})
[
"use-package"
"savehist"
"which-key"
]
);
};
in
{
inherit mkPankomacs mkEmacsPackage;
}