114 lines
2.2 KiB
Nix
114 lines
2.2 KiB
Nix
{ pkgs, lib, ... }:
|
|
let
|
|
doombin = "/home/payas/.config/emacs/bin/doom";
|
|
doomsync = ''
|
|
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";
|
|
target = "/home/payas/.config/enchant/enchant.ordering";
|
|
};
|
|
};
|
|
activation.doom = lib.hm.dag.entryAfter [ "writeBoundary" ] doomsync;
|
|
};
|
|
|
|
programs = {
|
|
# Emacs unstable (currently 29.0.91) with extra packages (that require native component)
|
|
emacs = {
|
|
enable = true;
|
|
package = pkgs.emacs-pgtk;
|
|
extraPackages = epkgs: with epkgs; [
|
|
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
|
|
];
|
|
};
|
|
|
|
java.enable = true;
|
|
};
|
|
|
|
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
|
|
]))
|
|
|
|
# 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
|
|
|
|
# Nix things
|
|
nixpkgs-fmt
|
|
nil
|
|
nixd
|
|
|
|
# Java language server
|
|
jdt-language-server
|
|
jetbrains.idea-community
|
|
|
|
# Rust
|
|
rustc
|
|
cargo
|
|
rustfmt
|
|
rust-analyzer
|
|
pkg-config
|
|
|
|
# Golang
|
|
go
|
|
gopls
|
|
|
|
# SQLite
|
|
sqlite
|
|
|
|
# Exercism
|
|
exercism
|
|
|
|
godot3
|
|
|
|
hledger
|
|
];
|
|
}
|