95 lines
2.1 KiB
Nix
95 lines
2.1 KiB
Nix
{ pkgs, lib, ... }:
|
|
let
|
|
doombin = "/home/payas/.config/emacs/bin/doom";
|
|
doomtmp = "/home/payas/.config/emacs/.local/cache/tmp/auto-save/";
|
|
doomsync = ''
|
|
mkdir -p ${doomtmp};
|
|
if [ -x "${doombin}" ]; then
|
|
timeout 100s ${doombin} sync;
|
|
fi
|
|
'';
|
|
in
|
|
{
|
|
home = {
|
|
file = {
|
|
# Doomemacs config
|
|
doom = {
|
|
enable = true;
|
|
executable = false;
|
|
recursive = true;
|
|
source = ./doom;
|
|
target = "/home/payas/.doom.d";
|
|
onChange = doomsync;
|
|
};
|
|
|
|
# Enchant ordering: Use aspell for all dicts
|
|
enchant = {
|
|
enable = true;
|
|
executable = false;
|
|
recursive = false;
|
|
text = "*:aspell,hunspell";
|
|
target = "/home/payas/.config/enchant/enchant.ordering";
|
|
};
|
|
};
|
|
activation.doom = lib.hm.dag.entryAfter [ "writeBoundary" ] doomsync;
|
|
};
|
|
|
|
programs = {
|
|
emacs = {
|
|
enable = true;
|
|
package = pkgs.emacs29-pgtk;
|
|
extraPackages = epkgs: with epkgs; [
|
|
mu4e
|
|
jinx
|
|
pdf-tools
|
|
saveplace-pdf-view
|
|
org-pdftools
|
|
org-noter
|
|
emacsql
|
|
emacsql-sqlite
|
|
emacsql-sqlite-builtin
|
|
vterm
|
|
all-the-icons
|
|
treesit-grammars.with-all-grammars
|
|
modus-themes
|
|
eglot
|
|
];
|
|
};
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
binutils # native-comp needs 'as', provided by this
|
|
sqlite # for org-roam
|
|
gcc # also for org-roam
|
|
|
|
# aspell is used by ispell for spell check
|
|
(aspellWithDicts (dicts: with dicts; [
|
|
en
|
|
en-computers
|
|
en-science
|
|
mr
|
|
hi
|
|
]))
|
|
|
|
hunspell
|
|
hunspellDicts.en-us-large
|
|
hunspellDicts.en_GB-large
|
|
|
|
# used by jinx package for spell checking
|
|
enchant
|
|
|
|
imagemagick
|
|
|
|
tectonic # munging TeX better than texlive
|
|
texlive.combined.scheme-full # because org-babel cannot use tectonic
|
|
# lua53Packages.digestif # luajit version is broken
|
|
pandoc # convert doc formats
|
|
# ghostscript # munging pfds
|
|
pdftk # munging pdfs in less incantation-y way
|
|
hledger
|
|
|
|
# Janet
|
|
janet
|
|
jpm
|
|
];
|
|
}
|