nixfleet/users/profiles/emacs/default.nix
2022-05-28 19:16:21 +02:00

67 lines
1.5 KiB
Nix

{ pkgs, ... }:
{
home.file."emacs" = {
recursive = true;
source = ./emacs.d;
target = ".emacs.d";
};
programs.emacs = {
enable = true;
package = pkgs.customEmacs;
};
services.emacs = {
enable = true;
};
# For some reason Hunspell dictionaries paths must be specified on Darwin
home.sessionVariables =
if pkgs.stdenv.hostPlatform.isDarwin then {
DICPATH = "${pkgs.hunspellDicts.it_IT}/share/hunspell:${pkgs.hunspellDicts.en_US}/share/hunspell";
} else { };
home.packages =
let
easy-ps = import
(pkgs.fetchFromGitHub {
owner = "justinwoo";
repo = "easy-purescript-nix";
rev = "7802db65618c2ead3a55121355816b4c41d276d9";
sha256 = "0n99hxxcp9yc8yvx7bx4ac6askinfark7dnps3hzz5v9skrvq15q";
})
{
inherit pkgs;
};
in
with pkgs; [
delta
fd
graphviz-nox
hunspell
hunspellDicts.en_US
hunspellDicts.it_IT
imagemagick
mediainfo
nixpkgs-fmt
poppler_utils
python3Full
rnix-lsp
silver-searcher
unzip
(
makeDesktopItem {
name = "org-protocol";
exec = "emacsclient %u";
comment = "Org protocol";
desktopName = "org-protocol";
type = "Application";
mimeTypes = [ "x-scheme-handler/org-protocol" ];
}
)
] ++ (if pkgs.system == "x86_64-linux" then [
python-language-server
] ++ (with easy-ps; [
ffmpegthumbnailer
]) else [ ]);
}