{ config, lib, ... }: with lib; mkIf (elem "emacs::web-mode" config.machine.pkgs) { programs.emacs.init.usePackage = { web-mode = { enable = true; # bind = {}; mode = [ ''("\\.html\\'" . web-mode)'' ''("\\.css\\'" . web-mode)'' ''("\\.html?\\'" . web-mode)'' ''("\\.phtml\\'" . web-mode)'' ''("\\.tpl\\.php\\'" . web-mode)'' ''("\\.[agj]sp\\'" . web-mode)'' ''("\\.as[cp]x\\'" . web-mode)'' ''("\\.erb\\'" . web-mode)'' ''("\\.mustache\\'" . web-mode)'' ''("\\.djhtml\\'" . web-mode)'' ]; config = '' (setq web-mode-engines-alist '(("php" . "\\.phtml\\'") ("blade" . "\\.blade\\.")) ) ''; }; js2-mode = { enable = true; }; tide = { enable = true; after = [ "typescript-mode" "company" "flycheck" ]; hook = [ "(typescript-mode . tide-setup)" "(typescript-mode . tide-hl-identifier-mode)" "(before-save . tide-format-before-save)" ]; config = '' (setq company-tooltip-align-annotations t) ''; }; impatient-mode = { enable = true; }; simple-httpd = { enable = true; }; }; }