diff --git a/Droidnix/README.org b/Droidnix/README.org index 26c6c5ef9..ee0e57b83 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -518,19 +518,67 @@ This installs emacs #+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/emacs/emacs.nix :noweb tangle :mkdirp yes :eval never-html { config, pkgs, flakeRoot, ... }: +let + # convenience for extra Emacs packages + emacsExtraPackages = 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 + ]; +in { ############################ # System-wide Emacs ############################ - environment.systemPackages = [ - pkgs.emacs-pgtk.override { withTreeSitter = true; } - ]; + programs.emacs = { + enable = true; + package = pkgs.emacs-pgtk.override { withTreeSitter = true; }; + extraPackages = emacsExtraPackages; + }; ############################ - # Home Manager configuration + # Home Manager integration + # Only evaluated if imported via home-manager.nixosModules.home-manager ############################ - # Only include these if this module is evaluated in the Home Manager context - # (i.e., via home-manager.nixosModules.home-manager) + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home.sessionVariables = { EDITOR = "emacs"; XDG_SCREENSHOTS_DIR = "~/screenshots"; diff --git a/Droidnix/generated/modules/traveldroid/apps/emacs/emacs.nix b/Droidnix/generated/modules/traveldroid/apps/emacs/emacs.nix index 053b14e3a..4727b1915 100644 --- a/Droidnix/generated/modules/traveldroid/apps/emacs/emacs.nix +++ b/Droidnix/generated/modules/traveldroid/apps/emacs/emacs.nix @@ -1,18 +1,66 @@ { config, pkgs, flakeRoot, ... }: +let + # convenience for extra Emacs packages + emacsExtraPackages = 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 + ]; +in { ############################ # System-wide Emacs ############################ - environment.systemPackages = [ - pkgs.emacs-pgtk.override { withTreeSitter = true; } - ]; + programs.emacs = { + enable = true; + package = pkgs.emacs-pgtk.override { withTreeSitter = true; }; + extraPackages = emacsExtraPackages; + }; ############################ - # Home Manager configuration + # Home Manager integration + # Only evaluated if imported via home-manager.nixosModules.home-manager ############################ - # Only include these if this module is evaluated in the Home Manager context - # (i.e., via home-manager.nixosModules.home-manager) + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home.sessionVariables = { EDITOR = "emacs"; XDG_SCREENSHOTS_DIR = "~/screenshots";