aboutsummaryrefslogtreecommitdiff
path: root/modules/homeModules/emacs/default.nix
diff options
context:
space:
mode:
authorspl3g <notspl3g@duck.com>2026-03-18 18:01:41 +0300
committerspl3g <notspl3g@duck.com>2026-03-18 18:01:59 +0300
commit03648b3d9f177227df40129bed22558f6924b91c (patch)
tree8a22eda142beeafd9002a8d5901ba9428a77ad52 /modules/homeModules/emacs/default.nix
parentdc19a2b583b3ab50d8e36ff0a90ca633495f675f (diff)
so.. v2 i guess
Diffstat (limited to 'modules/homeModules/emacs/default.nix')
-rw-r--r--modules/homeModules/emacs/default.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/modules/homeModules/emacs/default.nix b/modules/homeModules/emacs/default.nix
new file mode 100644
index 0000000..b57a25a
--- /dev/null
+++ b/modules/homeModules/emacs/default.nix
@@ -0,0 +1,49 @@
+{inputs, ...}: {
+ flake.homeModules.emacs = {
+ pkgs,
+ config,
+ lib,
+ ...
+ }: let
+ mkMutableSymlink = config.lib.meta.mkMutableSymlink;
+ in {
+ options.customs = {
+ emacs.enable = lib.mkEnableOption "enable emacs";
+ emacs.package = lib.mkPackageOption pkgs "emacs package" {default = ["emacs30-pgtk"];};
+ };
+ config = lib.mkIf config.emacs.enable {
+ home.sessionVariables.EDITOR = "emacsclient -a emacs";
+ home.packages = with pkgs;
+ with python311Packages; [
+ # required dependencies
+ ripgrep
+ fd
+ tree-sitter
+ emacs-all-the-icons-fonts
+ libappindicator
+ poppler-utils
+ nixd
+ alejandra
+ sqlite
+ ];
+
+ programs.emacs = {
+ enable = true;
+ package = config.emacs.package;
+ extraPackages = epkgs:
+ with epkgs; [
+ treesit-grammars.with-all-grammars
+ mu4e
+ ];
+ };
+
+ xdg.configFile = {
+ "emacs/early-init.el".source = mkMutableSymlink ./early-init.el;
+ "emacs/init.el".source = mkMutableSymlink ./init.el;
+ "emacs/elpaca.el".source = mkMutableSymlink ./elpaca.el;
+ "emacs/etc/tempel/templates.eld".source = mkMutableSymlink ./templates.eld;
+ "emacs/etc/eshell/aliases".source = mkMutableSymlink ./aliases;
+ };
+ };
+ };
+}