Automatically add prefixed flake inputs as emacs packages
This commit is contained in:
parent
570734c9f0
commit
044db098ce
4 changed files with 166 additions and 333 deletions
|
@ -1,65 +1,77 @@
|
|||
pkgs: epkgs:
|
||||
with epkgs; [
|
||||
meow
|
||||
dracula-theme
|
||||
solaire-mode
|
||||
nerd-icons
|
||||
nerd-icons-completion
|
||||
nerd-icons-ibuffer
|
||||
nerd-icons-dired
|
||||
treemacs-nerd-icons
|
||||
eat
|
||||
eshell-syntax-highlighting
|
||||
esh-autosuggest
|
||||
clipetty
|
||||
sideline
|
||||
sideline-flymake
|
||||
rainbow-delimiters
|
||||
delight
|
||||
vertico
|
||||
marginalia
|
||||
consult
|
||||
orderless
|
||||
embark
|
||||
embark-consult
|
||||
magit
|
||||
magit-delta
|
||||
magit-todos
|
||||
diff-hl
|
||||
corfu
|
||||
corfu-terminal
|
||||
kind-icon
|
||||
cape
|
||||
which-key
|
||||
# nix-mode
|
||||
(nix-ts-mode.overrideAttrs (_: {
|
||||
src = pkgs.nix-ts-mode-source;
|
||||
}))
|
||||
unisonlang-mode
|
||||
purescript-mode
|
||||
dhall-mode
|
||||
envrc
|
||||
inheritenv
|
||||
popper
|
||||
paredit
|
||||
yaml-mode
|
||||
hl-todo
|
||||
markdown-mode
|
||||
haskell-mode
|
||||
terraform-mode
|
||||
diredfl
|
||||
(pkgs.callPackage ./indent-bars.nix {
|
||||
src = pkgs.indent-bars-source;
|
||||
inherit (epkgs) trivialBuild compat;
|
||||
})
|
||||
(pkgs.callPackage ./combobulate.nix {
|
||||
src = pkgs.combobulate-source;
|
||||
inherit (epkgs) trivialBuild;
|
||||
})
|
||||
org-roam
|
||||
consult-org-roam
|
||||
(pkgs.callPackage ./agenix-el.nix {
|
||||
src = pkgs.agenix-el-source;
|
||||
inherit (epkgs) trivialBuild;
|
||||
})
|
||||
]
|
||||
with epkgs; let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
depsPerPackage = {
|
||||
indent-bars = [compat];
|
||||
};
|
||||
|
||||
# *Attrset* containig extra emacs packages from flake inputs
|
||||
extraPackages = lib.mapAttrs (inputName: input: let
|
||||
deps = depsPerPackage.${inputName} or [];
|
||||
in
|
||||
trivialBuild {
|
||||
pname = inputName;
|
||||
src = input.outPath;
|
||||
version = input.shortRev;
|
||||
propagatedUserEnvPkgs = deps;
|
||||
buildInputs = deps;
|
||||
})
|
||||
pkgs.extra-package-inputs;
|
||||
|
||||
# *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))
|
||||
[
|
||||
meow
|
||||
dracula-theme
|
||||
solaire-mode
|
||||
nerd-icons
|
||||
nerd-icons-completion
|
||||
nerd-icons-ibuffer
|
||||
nerd-icons-dired
|
||||
treemacs-nerd-icons
|
||||
eat
|
||||
eshell-syntax-highlighting
|
||||
esh-autosuggest
|
||||
clipetty
|
||||
sideline
|
||||
sideline-flymake
|
||||
rainbow-delimiters
|
||||
delight
|
||||
vertico
|
||||
marginalia
|
||||
consult
|
||||
orderless
|
||||
embark
|
||||
embark-consult
|
||||
magit
|
||||
magit-delta
|
||||
magit-todos
|
||||
diff-hl
|
||||
corfu
|
||||
corfu-terminal
|
||||
kind-icon
|
||||
cape
|
||||
which-key
|
||||
# nix-mode
|
||||
unisonlang-mode
|
||||
purescript-mode
|
||||
dhall-mode
|
||||
envrc
|
||||
inheritenv
|
||||
popper
|
||||
paredit
|
||||
yaml-mode
|
||||
hl-todo
|
||||
markdown-mode
|
||||
haskell-mode
|
||||
terraform-mode
|
||||
diredfl
|
||||
org-roam
|
||||
consult-org-roam
|
||||
];
|
||||
in
|
||||
mainPackages ++ (builtins.attrValues extraPackages)
|
||||
|
|
Reference in a new issue