aboutsummaryrefslogtreecommitdiff
path: root/home-manager/homeModules/emacs/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/homeModules/emacs/default.nix')
-rw-r--r--home-manager/homeModules/emacs/default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/home-manager/homeModules/emacs/default.nix b/home-manager/homeModules/emacs/default.nix
new file mode 100644
index 0000000..a95b81b
--- /dev/null
+++ b/home-manager/homeModules/emacs/default.nix
@@ -0,0 +1,37 @@
+{ pkgs, config, lib, ... }:
+
+let
+ mkMutableSymlink = config.lib.meta.mkMutableSymlink;
+in
+{
+ options = {
+ emacs.enable = lib.mkEnableOption "enable emacs";
+ };
+ config = lib.mkIf config.emacs.enable {
+ home.packages = with pkgs; with python311Packages; [
+ # required dependencies
+ ripgrep
+ fd
+ tree-sitter
+ emacs-all-the-icons-fonts
+ libappindicator
+ poppler_utils
+ emacs-lsp-booster
+ nixd
+ sqlite
+ ];
+
+ programs.emacs = {
+ enable = true;
+ package = pkgs.emacs29-pgtk;
+ };
+
+ xdg.configFile = {
+ "emacs/config.org".source = mkMutableSymlink ./config.org;
+ "emacs/early-init.el".source = mkMutableSymlink ./early-init.el;
+ "emacs/init.el".source = mkMutableSymlink ./init.el;
+ "emacs/etc/tempel/templates.eld".source = mkMutableSymlink ./templates.eld;
+ "emacs/etc/eshell/aliases".source = mkMutableSymlink ./aliases;
+ };
+ };
+}