;;; my-conf.el --- Configure modes related to configuration files -*- lexical-binding: t -*- ;;; Commentary: ;; Provides configuration for modes that are related to configuration ;; files. ;;; Code: (add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode)) (add-to-list 'auto-mode-alist '("\\.yaml\\'" . yaml-mode)) (add-to-list 'auto-mode-alist '("Dockerfile\\'" . dockerfile-mode)) (add-to-list 'auto-mode-alist '("\\.tf\\'" . terraform-mode)) (customize-set-variable 'dockerfile-use-sudo t) (customize-set-variable 'dockerfile-use-buildkit t) (customize-set-variable 'json-reformat:indent-width 2) (customize-set-variable 'js-indent-level 2) (customize-set-variable 'css-indent-offset 2) (dolist (hook '(json-mode-hook protobuf-mode-hook systemd-mode-hook term-mode-hook)) (add-hook hook 'flyspell-prog-mode)) (add-hook 'terraform-mode-hook 'terraform-format-on-save-mode) (defun my/js-mode-hook () "Hooks for `js-mode'." ;; format the buffer with `jq' (local-set-key (kbd "C-c C-f") 'jq-format-json-buffer)) (add-hook 'js-mode-hook 'my/js-mode-hook) (provide 'my-conf) ;;; my-conf.el ends here