{ pkgs, ... }: { # NixOS Configuration environment.systemPackages = with pkgs; [ # Add system-wide packages here, if any ]; # Home Manager Configuration for the user 'henrov' home-manager.users.henrov = { programs.emacs = { enable = true; package = pkgs.emacs-pgtk.override { withTreeSitter = true; }; # Group related packages for clarity and easier maintenance extraPackages = epkgs: with epkgs; [ # Tree-sitter and language support manualPackages.treesit-grammars.with-all-grammars rust-mode rustic nix-mode hcl-mode # UI/UX and navigation nerd-icons doom-modeline diminish eldoc eldoc-box pulsar which-key avy consult vertico marginalia crux shell-pop # Completion and snippets nerd-icons-corfu corfu cape orderless yasnippet yasnippet-snippets # Utilities and tools rg exec-path-from-shell eat f gptel nixpkgs-fmt envrc # Theming catppuccin-theme # Git magit # Editing and workflow expreg vundo puni # Error and side panel support sideline sideline-flymake sideline-eglot ]; }; # Home Manager session variables home.sessionVariables = { EDITOR = "emacs"; XDG_SCREENSHOTS_DIR = "~/screenshots"; }; /* # Home Manager file management home.file = { "emacs/early-init.el" = { source = ./early-init.el; target = ".emacs.d/early-init.el"; }; "emacs/init.el" = { source = ./init.el; target = ".emacs.d/init.el"; }; }; */ }; }