{ pkgs ? import {}, emacs ? pkgs.emacs }: let myEmacs = pkgs.lib.overrideDerivation (emacs) (attrs: { postInstall = attrs.postInstall + '' rm $out/share/applications/emacs.desktop ''; }); emacsWithPackages = (pkgs.emacsPackagesNgGen myEmacs).emacsWithPackages; in emacsWithPackages (epkgs: (with epkgs; [ ace-link add-node-modules-path ag auto-compile auto-async-byte-compile avy bbdb bind-key cider clj-refactor clojure-mode cmd-to-echo command-log-mode company company-go company-lsp company-restclient company-tern company-web counsel counsel-projectile crux cyphejor define-word diminish dired-subtree discover-my-major discover-js2-refactor docker-compose-mode dockerfile-mode dtrt-indent dumb-jump eacl easy-hugo editorconfig eink-theme elisp-slime-nav emmet-mode evil evil-collection evil-commentary evil-leader evil-magit evil-org evil-quickscope evil-snipe evil-space evil-surround exec-path-from-shell eyebrowse feature-mode flycheck flycheck-pos-tip flycheck-vale geiser ggtags ghq git-gutter-fringe git-messenger git-timemachine go-eldoc go-mode go-projectile goto-chg haskell-mode helm helpful highlight-stages imenu-anywhere indium ivy-hydra jinja2-mode js2-mode js2-refactor json-mode # kubernetes # kubernetes-evil ledger-mode lsp-mode lsp-ui magit markdown-mode mocha monotropic-theme nginx-mode nix-mode nix-sandbox org-journal page-break-lines paredit password-store php-mode prettier-js projectile projectile-ripgrep quickrun relative-buffers restclient ripgrep rjsx-mode sentence-navigation scss-mode shrink-whitespace slime smart-tabs-mode smex spaceline spacemacs-theme swiper tern tide toml-mode typescript-mode undo-tree use-package web-mode wgrep-ag which-key yaml-mode ]) ++ (with epkgs.elpaPackages; [ rainbow-mode ]) ++ [ epkgs.redshank epkgs.hook-helpers epkgs.dired-du # From main packages set ])