refactor: create an emacs wrapper

Why this is being done is just to include texliveTeTeX in my Emacs package. This is done because I want to be able to export PDFs without ever needing to remember to make a new devShell just for a document.
This commit is contained in:
Artur Manuel 2024-08-26 20:14:34 +01:00
commit c704b661ec
Failed to generate hash of commit

View file

@ -1,49 +1,60 @@
{ emacsWithPackagesFromUsePackage, emacs29-pgtk, python3, texliveTeTeX }: { symlinkJoin, emacsWithPackagesFromUsePackage, emacs29-pgtk, python3, texliveFull, makeWrapper, lib }:
emacsWithPackagesFromUsePackage { let
emacs-linux = emacsWithPackagesFromUsePackage {
package = emacs29-pgtk; package = emacs29-pgtk;
config = ./config.org; config = ./config.org;
defaultInitFile = true; defaultInitFile = true;
alwaysEnsure = true; alwaysEnsure = true;
alwaysTangle = true; alwaysTangle = true;
extraEmacsPackages = extraEmacsPackages =
e: (builtins.attrValues { e: (builtins.attrValues {
inherit (e) inherit (e)
nix-ts-mode nix-ts-mode
base16-theme base16-theme
vertico vertico
orderless orderless
marginalia marginalia
embark embark
consult consult
embark-consult embark-consult
consult-dir consult-dir
doom-modeline doom-modeline
flycheck flycheck
which-key which-key
lsp-mode lsp-mode
lsp-ui lsp-ui
lsp-pyright lsp-pyright
treemacs treemacs
lsp-treemacs lsp-treemacs
consult-lsp consult-lsp
treemacs-icons-dired treemacs-icons-dired
treemacs-nerd-icons treemacs-nerd-icons
nerd-icons nerd-icons
all-the-icons all-the-icons
projectile projectile
treemacs-projectile treemacs-projectile
magit magit
treemacs-magit treemacs-magit
rustic rustic
haskell-mode haskell-mode
envrc envrc
ccls ccls
org-roam org-roam
; ;
}) ++ [ }) ++ [
e.treesit-grammars.with-all-grammars e.treesit-grammars.with-all-grammars
python3 python3
texliveTeTeX ];
]; override = _: prev: { use-package = prev.emacs; };
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
'';
} }