nixos-configs/modules/editor/emacs/emacs.nix
Paul-Henri Froidmont 68d301c666
Modularize everything
2023-03-21 14:42:39 +01:00

48 lines
1.1 KiB
Nix

{ inputs, config, lib, pkgs, ... }:
with lib;
with lib.my;
let cfg = config.modules.editor.emacs;
in {
options.modules.editor.emacs = { enable = mkBoolOpt false; };
config = mkIf cfg.enable {
home-manager.users.${config.user.name} = {
imports = [ inputs.nix-doom-emacs.hmModule ];
home.packages = with pkgs.unstable; [
ripgrep
fd
findutils.locate
metals
rnix-lsp
nixfmt
];
services.emacs = {
enable = true;
client.enable = true;
};
programs.doom-emacs = {
enable = true;
doomPrivateDir = ./doom.d;
emacsPackagesOverlay = final: prev: {
ob-ammonite = with final;
(trivialBuild {
src = pkgs.fetchFromGitHub {
owner = "zwild";
repo = "ob-ammonite";
rev = "39937dff395e70aff76a4224fa49cf2ec6c57cca";
sha256 = pkgs.lib.fakeSha256;
};
pname = "ob-ammonite";
packageRequires = [ s dash editorconfig ];
});
};
};
};
};
}