Doom Emacs #
This is my Doom Emacs configuration (source).
Lexical binding #
Make this file run (slightly) faster with lexical binding (see this blog post for more info).
;;; config.el -*- lexical-binding: t; -*-
General #
(setq user-full-name "Anders K. Pettersen"
user-mail-address "staticaland@users.noreply.github.com")
Projectile #
Projectile is my favourite way to work with projects.
(after! projectile
(setq +workspaces-on-switch-project-behavior t)
(setq projectile-ignored-projects '("~/" "/tmp" "~/.emacs.d/.local/straight/repos/"))
(defun projectile-ignored-project-function (filepath)
"Return t if FILEPATH is within any of `projectile-ignored-projects'"
(or (mapcar (lambda (p) (s-starts-with-p p filepath)) projectile-ignored-projects))))
Dired file explorer #
(after! dired
(add-hook! 'dired-mode-hook 'dired-hide-details-mode)
(add-hook! 'dired-mode-hook 'hl-line-mode)
(if (executable-find "gls")
(progn
(setq insert-directory-program "gls")
(setq dired-listing-switches "-lFaGh1v --group-directories-first"))
(setq dired-listing-switches "-ahlF"))
(setq ls-lisp-dirs-first t)
(setq dired-listing-switches "-lat") ; sort by date (new first)
(put 'dired-find-alternate-file 'disabled nil)
(setq delete-by-moving-to-trash t)
(setq dired-dwim-target t)
(setq dired-recursive-copies (quote always))
(setq dired-recursive-deletes (quote top)))
CUE #
CUE.
(add-hook! cue-mode
(cuefmt-on-save-mode))
Go #
Go.
(add-hook! go-mode
(gofmt-on-save-mode))
Terraform #
(add-hook! terraform-mode
(terraform-format-on-save-mode))
Org #
(after! org
(setq org-imenu-depth 7)
(setq org-ellipsis " ▾ ")
(setq org-superstar-headline-bullets-list '("⁖"))
(setq org-babel-python-command "python3")
(setq org-cycle-separator-lines 1)
(setq org-edit-src-content-indentation 0)
(setq org-export-initial-scope 'subtree)
(setq org-image-actual-width 400)
(setq org-src-window-setup 'current-window)
(setq org-startup-indented t))
Add ox-gfm
to make it possible to export Org Mode documents to GitHub
Flavoured Markdown.
(use-package! ox-gfm
:after org)
Treemacs file tree #
(use-package! treemacs
:commands treemacs
:init
(map! :leader
(:prefix ("f" . "file")
:desc "Open Treemacs" "t" #'+treemacs/toggle))
:config
(treemacs-git-mode 'extended)
(setq treemacs-is-never-other-window nil)
(add-to-list 'treemacs-pre-file-insert-predicates #'treemacs-is-file-git-ignored?))
Outline #
(use-package! outline
:config
(setq outline-blank-line t))
Occur #
(use-package! replace
:init
(map! :map occur-mode-map
:n "e" 'occur-edit-mode)
(add-hook 'occur-hook
'(lambda ()
(switch-to-buffer-other-window "*Occur*"))))
JSON schema #
(after! lsp-mode
(setq lsp-yaml-schemas (make-hash-table))
(puthash "https://ecs-intellisense.s3-us-west-2.amazonaws.com/task-definition/schema.json" ["*ecs-task-def.json" "task-definition.json"] lsp-yaml-schemas))
Modes #
I used this while making Go HTTP templates while reading Let’s Go.
(use-package web-mode
:mode (("\\.html$" . web-mode)
("\\.tmpl\\'" . web-mode)))
(add-hook! web-mode
(prettier-on-save-mode))
Various #
There is nothing here yet.