{ pkgs, flakeRoot, ... }: let emacsPkg = pkgs.emacs-pgtk.override { withTreeSitter = true; }; in { ################################# # System-wide Emacs ################################# environment.systemPackages = [ emacsPkg ]; ################################# # Home Manager configuration ################################# home.sessionVariables = { EDITOR = "emacs"; XDG_SCREENSHOTS_DIR = "~/screenshots"; }; home.file = { "emacs/early-init.el" = { source = "${flakeRoot}/assets/traveldroid/conf/emacs/early-init.el"; target = ".emacs.d/early-init.el"; }; "emacs/init.el" = { source = "${flakeRoot}/assets/traveldroid/conf/emacs/init.el"; target = ".emacs.d/init.el"; }; }; home.packages = epkgs: [ epkgs.manualPackages.treesit-grammars.with-all-grammars epkgs.nerd-icons epkgs.doom-modeline epkgs.diminish epkgs.eldoc epkgs.pulsar epkgs.which-key epkgs.expreg epkgs.vundo epkgs.puni epkgs.avy epkgs.consult epkgs.vertico epkgs.marginalia epkgs.crux epkgs.magit epkgs.nerd-icons-corfu epkgs.corfu epkgs.cape epkgs.orderless epkgs.yasnippet epkgs.yasnippet-snippets epkgs.rg epkgs.exec-path-from-shell epkgs.eat epkgs.rust-mode epkgs.rustic epkgs.nix-mode epkgs.hcl-mode epkgs.shell-pop epkgs.envrc epkgs.nixpkgs-fmt epkgs.f epkgs.gptel epkgs.catppuccin-theme epkgs.eldoc-box epkgs.sideline epkgs.sideline-flymake epkgs.sideline-eglot ]; }