2024-08-26 20:14:34 +01:00
|
|
|
{ symlinkJoin, emacsWithPackagesFromUsePackage, emacs29-pgtk, python3, texliveFull, makeWrapper, lib }:
|
|
|
|
let
|
|
|
|
emacs-linux = emacsWithPackagesFromUsePackage {
|
2024-08-14 04:20:10 +01:00
|
|
|
package = emacs29-pgtk;
|
2024-08-26 20:14:34 +01:00
|
|
|
config = ./config.org;
|
|
|
|
defaultInitFile = true;
|
|
|
|
alwaysEnsure = true;
|
|
|
|
alwaysTangle = true;
|
|
|
|
extraEmacsPackages =
|
|
|
|
e: (builtins.attrValues {
|
|
|
|
inherit (e)
|
|
|
|
nix-ts-mode
|
|
|
|
base16-theme
|
|
|
|
vertico
|
|
|
|
orderless
|
|
|
|
marginalia
|
|
|
|
embark
|
|
|
|
consult
|
|
|
|
embark-consult
|
|
|
|
consult-dir
|
|
|
|
doom-modeline
|
|
|
|
flycheck
|
|
|
|
which-key
|
|
|
|
lsp-mode
|
|
|
|
lsp-ui
|
|
|
|
lsp-pyright
|
|
|
|
treemacs
|
|
|
|
lsp-treemacs
|
|
|
|
consult-lsp
|
|
|
|
treemacs-icons-dired
|
|
|
|
treemacs-nerd-icons
|
|
|
|
nerd-icons
|
|
|
|
all-the-icons
|
|
|
|
projectile
|
|
|
|
treemacs-projectile
|
|
|
|
magit
|
|
|
|
treemacs-magit
|
|
|
|
rustic
|
|
|
|
haskell-mode
|
|
|
|
envrc
|
|
|
|
ccls
|
|
|
|
org-roam
|
|
|
|
;
|
|
|
|
}) ++ [
|
|
|
|
e.treesit-grammars.with-all-grammars
|
|
|
|
python3
|
|
|
|
];
|
|
|
|
override = _: prev: { use-package = prev.emacs; };
|
|
|
|
};
|
|
|
|
in
|
|
|
|
symlinkJoin {
|
|
|
|
name = "emacs";
|
|
|
|
paths = [ texliveFull emacs-linux ];
|
|
|
|
buildInputs = [ makeWrapper ];
|
|
|
|
postBuild = ''
|
|
|
|
mkdir -p $out/bin
|
|
|
|
wrapProgram $out/bin/emacs \
|
|
|
|
--set PATH ${lib.makeBinPath [ texliveFull ]}:$PATH
|
|
|
|
'';
|
2024-07-17 04:09:08 +01:00
|
|
|
}
|