126 lines
3 KiB
Nix
126 lines
3 KiB
Nix
pkgs: epkgs:
|
|
let
|
|
inherit (epkgs) melpaPackages nongnuPackages elpaPackages;
|
|
|
|
buildEmacsPackage =
|
|
args:
|
|
epkgs.trivialBuild {
|
|
pname = args.name;
|
|
inherit (args) src;
|
|
version = args.src.rev;
|
|
propagatedUserEnvPkgs = args.deps;
|
|
buildInputs = args.deps;
|
|
};
|
|
|
|
# *Attrset* containig extra emacs packages
|
|
extraPackages = {
|
|
combobulate = buildEmacsPackage {
|
|
name = "combobulate";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "mickeynp";
|
|
repo = "combobulate";
|
|
rev = "e9c5be84062e8183f556d7133d5a477a57e37e51";
|
|
hash = "sha256-r6jObsYx7RRTJUmrCN5h3+0WcHqJA67emhr4/W3rBrM=";
|
|
};
|
|
deps = [ ];
|
|
};
|
|
};
|
|
|
|
# *List* containing emacs packages from (M)ELPA
|
|
mainPackages =
|
|
builtins.filter
|
|
# if an extra package has the same name then give precedence to it
|
|
(package: !builtins.elem package.pname (builtins.attrNames extraPackages))
|
|
(
|
|
with melpaPackages;
|
|
[
|
|
meow
|
|
meow-tree-sitter
|
|
dracula-theme
|
|
nord-theme
|
|
catppuccin-theme
|
|
modus-themes
|
|
# solaire-mode
|
|
nerd-icons
|
|
nerd-icons-completion
|
|
nerd-icons-ibuffer
|
|
nerd-icons-dired
|
|
ligature
|
|
treemacs-nerd-icons
|
|
eshell-syntax-highlighting
|
|
fish-completion # fish completion for eshell
|
|
eshell-prompt-extras
|
|
eshell-atuin
|
|
eshell-command-not-found
|
|
clipetty
|
|
sideline
|
|
consult-eglot
|
|
# sideline-flymake
|
|
rainbow-delimiters
|
|
vertico
|
|
marginalia
|
|
consult
|
|
orderless
|
|
embark
|
|
embark-consult
|
|
magit
|
|
magit-delta
|
|
magit-todos
|
|
difftastic
|
|
with-editor
|
|
diff-hl
|
|
corfu
|
|
cape
|
|
which-key
|
|
nix-mode
|
|
nix-ts-mode
|
|
agenix
|
|
zig-mode
|
|
unisonlang-mode
|
|
purescript-mode
|
|
dhall-mode
|
|
envrc
|
|
inheritenv
|
|
popper
|
|
paredit
|
|
yaml-mode
|
|
hl-todo
|
|
markdown-mode
|
|
haskell-mode
|
|
terraform-mode
|
|
diredfl
|
|
org-modern
|
|
org-roam
|
|
org-roam-ql
|
|
org-roam-ui
|
|
visual-fill-column
|
|
consult-org-roam
|
|
pass
|
|
password-store-otp
|
|
eldoc-box
|
|
go-translate
|
|
notmuch
|
|
consult-notmuch
|
|
poly-org
|
|
casual
|
|
gptel
|
|
agenix
|
|
solidity-mode
|
|
# org-re-reveal # FIXME very not nice hash mismatch when building
|
|
# gptel # TODO uncomment when there will be a new release including GPT-4o
|
|
]
|
|
)
|
|
++ (with elpaPackages; [
|
|
delight
|
|
kind-icon
|
|
ef-themes
|
|
indent-bars
|
|
ement
|
|
])
|
|
++ (with nongnuPackages; [
|
|
eat
|
|
corfu-terminal
|
|
haskell-ts-mode
|
|
]);
|
|
in
|
|
mainPackages ++ (builtins.attrValues extraPackages)
|