2024-09-11 18:43:37 +01:00
|
|
|
{ pkgs, ... }:
|
|
|
|
let
|
|
|
|
mkEmacsPackage =
|
2024-10-21 14:58:11 +01:00
|
|
|
{
|
|
|
|
epkgs,
|
|
|
|
pname,
|
|
|
|
version,
|
|
|
|
src,
|
|
|
|
deps ? [ ],
|
|
|
|
}:
|
2024-09-11 18:43:37 +01:00
|
|
|
epkgs.callPackage (
|
|
|
|
{ trivialBuild }:
|
|
|
|
trivialBuild {
|
|
|
|
inherit pname version src;
|
|
|
|
buildInputs = deps;
|
|
|
|
propagatedUserEnvPkgs = deps;
|
|
|
|
}
|
|
|
|
) { inherit (epkgs) trivialBuild; };
|
|
|
|
in
|
|
|
|
{
|
|
|
|
mkEmacs =
|
|
|
|
emacs:
|
|
|
|
pkgs.emacsWithPackagesFromUsePackage {
|
|
|
|
package = emacs;
|
|
|
|
defaultInitFile = true;
|
2024-10-04 21:44:24 +01:00
|
|
|
config = ./config.el;
|
2024-09-11 18:43:37 +01:00
|
|
|
extraEmacsPackages =
|
2024-10-21 14:58:11 +01:00
|
|
|
epkgs:
|
2024-09-11 18:43:37 +01:00
|
|
|
builtins.attrValues {
|
2024-10-21 14:58:11 +01:00
|
|
|
inherit (epkgs)
|
2024-10-04 21:44:24 +01:00
|
|
|
spacious-padding
|
|
|
|
nano-modeline
|
|
|
|
which-key
|
2024-11-15 01:24:13 +00:00
|
|
|
helm
|
2024-10-21 14:58:11 +01:00
|
|
|
base16-theme
|
2024-10-05 22:44:37 +01:00
|
|
|
nix-mode
|
2024-10-14 23:39:21 +01:00
|
|
|
rust-mode
|
2024-10-29 16:08:05 +00:00
|
|
|
haskell-mode
|
2024-10-05 22:44:37 +01:00
|
|
|
envrc
|
2024-09-11 18:43:37 +01:00
|
|
|
;
|
2024-10-21 14:58:11 +01:00
|
|
|
treesit-grammars = epkgs.treesit-grammars.with-all-grammars;
|
2024-09-11 18:43:37 +01:00
|
|
|
};
|
2024-10-21 14:58:11 +01:00
|
|
|
override = _: prev: {
|
|
|
|
use-package = prev.emacs;
|
|
|
|
savehist = prev.emacs;
|
|
|
|
};
|
2024-09-11 18:43:37 +01:00
|
|
|
};
|
|
|
|
}
|