2023-06-11 23:09:59 +02:00
|
|
|
{ pkgs, config, lib, secret, inputs', ... }:
|
|
|
|
{
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
(makeDesktopItem {
|
|
|
|
name = "Org-Protocol";
|
|
|
|
exec = "emacsclient %u";
|
|
|
|
comment = "Org protocol";
|
|
|
|
desktopName = "org-protocol";
|
|
|
|
type = "Application";
|
|
|
|
mimeTypes = ["x-scheme-handler/org-protocol"];
|
|
|
|
})
|
|
|
|
(iosevka-bin.override {variant = "aile";})
|
|
|
|
(iosevka-bin.override {variant = "etoile";})
|
|
|
|
(iosevka-bin.override {variant = "";})
|
|
|
|
emacs-all-the-icons-fonts
|
|
|
|
|
|
|
|
emacs-master-nativecomp
|
|
|
|
];
|
|
|
|
|
|
|
|
systemd.user.services.emacs = {
|
|
|
|
Unit = {
|
|
|
|
Description = "Emacs, the extensible editor";
|
|
|
|
After = [ "graphical-session-pre.target" ];
|
|
|
|
PartOf = [ "graphical-session.target" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
Service = {
|
|
|
|
Type = "simple";
|
|
|
|
ExecStart = ''/bin/sh -l -c "emacs --fg-daemon"'';
|
|
|
|
};
|
|
|
|
|
|
|
|
Install = { WantedBy = [ "graphical-session.target" ]; };
|
|
|
|
};
|
|
|
|
|
|
|
|
home.file = {
|
|
|
|
".emacs".source = ./.emacs;
|
|
|
|
".mbsyncrc".source = secret.emacs.mbsyncrc or ./.;
|
|
|
|
".emacs.d/org" = {
|
|
|
|
source = ./.emacs.d/org;
|
|
|
|
recursive = true;
|
|
|
|
};
|
|
|
|
".emacs.d/lisp" = {
|
|
|
|
source = ./.emacs.d/lisp;
|
|
|
|
recursive = true;
|
|
|
|
};
|
|
|
|
".emacs.d/mu4e-contexts".source = secret.emacs.mu4eContexts or ./.;
|
|
|
|
".emacs.d/tree-sitter".source = pkgs.tree-sitter-grammars;
|
|
|
|
".emacs.d/vterm-module".source = pkgs.stdenv.mkDerivation {
|
|
|
|
name = "vterm-emacs";
|
|
|
|
src = inputs'.vtermModule;
|
|
|
|
buildInputs = with pkgs; [cmake libtool glib.dev libvterm-neovim];
|
|
|
|
cmakeFlags = [
|
|
|
|
"-DEMACS_SOURCE=${inputs'.emacs}"
|
|
|
|
"-DUSE_SYSTEM_LIBVTERM=ON"
|
|
|
|
];
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/lib
|
|
|
|
install ../vterm-module.so $out/lib
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
".emacs.d/profile".source = pkgs.buildEnv {
|
|
|
|
name = "emacs-env";
|
|
|
|
paths = with pkgs; [
|
|
|
|
cmake
|
|
|
|
ninja
|
|
|
|
gnumake
|
|
|
|
gcc
|
|
|
|
mu
|
2023-09-28 14:42:44 +02:00
|
|
|
mu.mu4e
|
2023-06-11 23:09:59 +02:00
|
|
|
ripgrep
|
|
|
|
fd
|
|
|
|
isync
|
2023-09-20 19:07:48 +02:00
|
|
|
imagemagick
|
2023-09-28 10:35:56 +02:00
|
|
|
texlive.combined.scheme-full
|
2023-10-16 14:57:43 +02:00
|
|
|
ledger-compat
|
|
|
|
hledger
|
2023-06-11 23:09:59 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|