diff --git a/.emacs.d/config/backups.el b/.emacs.d/config/backups.el index 387270f..0b3e48b 100644 --- a/.emacs.d/config/backups.el +++ b/.emacs.d/config/backups.el @@ -1,5 +1,6 @@ ;; configure backups -(setq backup-directory-alist '(("." . "~/.emacs.d/backups/")) +(setq backup-directory-alist '(("." . "~/.emacs.d/backups/") + ("/dev/shm" . "/dev/null")) backup-by-copying t delete-old-versions t kept-new-versions 16 diff --git a/.emacs.d/config/base.el b/.emacs.d/config/base.el index 143bdd3..ab9148d 100644 --- a/.emacs.d/config/base.el +++ b/.emacs.d/config/base.el @@ -82,3 +82,7 @@ ;; configure theme (custom-set-variables '(custom-enabled-themes (quote (tango-dark)))) + +;; configur authinfo file +(setq auth-sources + '((:source "~/.authinfo.gpg"))) diff --git a/.emacs.d/config/dev.el b/.emacs.d/config/dev.el index f48f857..a93a3c2 100644 --- a/.emacs.d/config/dev.el +++ b/.emacs.d/config/dev.el @@ -1,38 +1,24 @@ -;; magit -(use-package magit - :ensure t - :init - ;; (taken from :open https://r0tty.org/git/dotfiles/emacs/tree/.emacs.d/config/development.el) - (defun vcsh (repo) - "Invoke magit on a vcsh repo. This requires an appropriate entry in `tramp-methods'." - (interactive (let ((repos (delq nil - (mapcar #'(lambda (name) - (if (string-match ".git$" name) - (substring name 0 -4) - nil)) - (directory-files "~/.config/vcsh/repo.d"))))) - (list (completing-read "Repository: " repos nil t)))) - (magit-status-internal (format "/vcsh:%s:" repo))) - :config - ;; Turn on flyspell when writing commit messages - (add-hook 'git-commit-setup-hook 'git-commit-turn-on-flyspell)) - -;; use ripgrep in emacs -(use-package deadgrep - :ensure t - :bind ("M-s d" . deadgrep)) - ;; paredit (use-package paredit - :ensure t - :config - (autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t) - (add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode) - (add-hook 'eval-expression-minibuffer-setup-hook #'enable-paredit-mode) - (add-hook 'ielm-mode-hook #'enable-paredit-mode) - (add-hook 'lisp-mode-hook #'enable-paredit-mode) - (add-hook 'lisp-interaction-mode-hook #'enable-paredit-mode) - (add-hook 'scheme-mode-hook #'enable-paredit-mode)) + :ensure t + :config + (autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t) + (add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode) + (add-hook 'eval-expression-minibuffer-setup-hook #'enable-paredit-mode) + (add-hook 'ielm-mode-hook #'enable-paredit-mode) + (add-hook 'lisp-mode-hook #'enable-paredit-mode) + (add-hook 'lisp-interaction-mode-hook #'enable-paredit-mode) + (add-hook 'scheme-mode-hook #'enable-paredit-mode)) + +(use-package highlight-parentheses + :ensure t + :config + (global-highlight-parentheses-mode t)) + +(use-package rainbow-delimiters + :ensure t + :config + (add-hook 'prog-mode-hook #'rainbow-delimiters-mode)) ;; Hack to show only files known to git inside dired; needs the ;; `git-find' shell script shim (taken from :open https://r0tty.org/git/dotfiles/emacs/tree/.emacs.d/config/development.el) @@ -53,6 +39,6 @@ ;; language server (use-package lsp-mode - :ensure t - :config - (add-hook 'rust-mode-hook 'lsp-deferred)) + :ensure t + :config + (add-hook 'rust-mode-hook 'lsp-deferred)) diff --git a/.emacs.d/config/git.el b/.emacs.d/config/git.el new file mode 100644 index 0000000..045c313 --- /dev/null +++ b/.emacs.d/config/git.el @@ -0,0 +1,18 @@ +;; magit +(use-package magit + :ensure t + :init + ;; (taken from :open https://r0tty.org/git/dotfiles/emacs/tree/.emacs.d/config/development.el) + (defun vcsh (repo) + "Invoke magit on a vcsh repo. This requires an appropriate entry in `tramp-methods'." + (interactive (let ((repos (delq nil + (mapcar #'(lambda (name) + (if (string-match ".git$" name) + (substring name 0 -4) + nil)) + (directory-files "~/.config/vcsh/repo.d"))))) + (list (completing-read "Repository: " repos nil t)))) + (magit-status-internal (format "/vcsh:%s:" repo))) + :config + ;; Turn on flyspell when writing commit messages + (add-hook 'git-commit-setup-hook 'git-commit-turn-on-flyspell)) diff --git a/.emacs.d/config/gpg.el b/.emacs.d/config/gpg.el index 78544cb..bb7bb57 100644 --- a/.emacs.d/config/gpg.el +++ b/.emacs.d/config/gpg.el @@ -1,3 +1,3 @@ (use-package pinentry - :init - (setq epa-pinentry-mode 'loopback)) + :init + (setq epa-pinentry-mode 'loopback)) diff --git a/.emacs.d/config/org.el b/.emacs.d/config/org.el index 5b92c32..85a0624 100644 --- a/.emacs.d/config/org.el +++ b/.emacs.d/config/org.el @@ -1,5 +1,5 @@ (use-package org - :ensure t - :init (setq org-export-backends '(ascii html icalendar latex odt beamer))) + :ensure t + :init (setq org-export-backends '(ascii html icalendar latex odt beamer))) (setq org-directory "~/org") diff --git a/.emacs.d/config/pass.el b/.emacs.d/config/pass.el index bd03e05..ebbc24f 100644 --- a/.emacs.d/config/pass.el +++ b/.emacs.d/config/pass.el @@ -1,8 +1,8 @@ (use-package ivy-pass - :ensure t - :init - ;; from https://github.com/ecraven/ivy-pass/blob/master/ivy-pass.el - (setq password-store-password-length 32)) + :ensure t + :init + ;; from https://github.com/ecraven/ivy-pass/blob/master/ivy-pass.el + (setq password-store-password-length 32)) ;; configure ivy-pass key binding (global-set-key [?\C-x ?p] 'ivy-pass) diff --git a/.emacs.d/config/ripgrep.el b/.emacs.d/config/ripgrep.el new file mode 100644 index 0000000..0bbd8a9 --- /dev/null +++ b/.emacs.d/config/ripgrep.el @@ -0,0 +1,4 @@ +;; use ripgrep in emacs +(use-package deadgrep + :ensure t + :bind ("M-s d" . deadgrep)) diff --git a/.emacs.d/config/rust.el b/.emacs.d/config/rust.el index bf43397..58f6c4b 100644 --- a/.emacs.d/config/rust.el +++ b/.emacs.d/config/rust.el @@ -1,13 +1,13 @@ (use-package cargo - :ensure t - :config - ;; enable cargo keybindings - (add-hook 'rust-mode-hook 'cargo-minor-mode)) + :ensure t + :config + ;; enable cargo keybindings + (add-hook 'rust-mode-hook 'cargo-minor-mode)) (use-package rust-mode - :ensure t - :config - ;; format code when saving - (setq rust-format-on-save t)) + :ensure t + :config + ;; format code when saving + (setq rust-format-on-save t)) (use-package flycheck-rust :ensure t) diff --git a/.emacs.d/config/tramp.el b/.emacs.d/config/tramp.el index 60bb211..1b92e5f 100644 --- a/.emacs.d/config/tramp.el +++ b/.emacs.d/config/tramp.el @@ -1,9 +1,9 @@ (use-package tramp - :config - (setq tramp-default-method "ssh") - (add-to-list 'tramp-methods '("vcsh" - (tramp-login-program "vcsh") - (tramp-login-args (("enter") - ("%h"))) - (tramp-remote-shell "/bin/sh") - (tramp-remote-shell-args ("-c"))))) + :config + (setq tramp-default-method "ssh") + (add-to-list 'tramp-methods '("vcsh" + (tramp-login-program "vcsh") + (tramp-login-args (("enter") + ("%h"))) + (tramp-remote-shell "/bin/sh") + (tramp-remote-shell-args ("-c"))))) diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 24e144f..1703c22 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -57,7 +57,7 @@ symbols, which are converted to strings, and suffixed with \".el\"." :group 'config-snippets :type '(repeat directory)) -(setq config-snippets '(base backups c calendar dev functions gpg org pass rust wl yaml)) +(setq config-snippets '(base backups c calendar dev functions git gpg org pass ripgrep rust wl yaml)) (message "Loading\nconfig-snippets: %s\nconfig-snippets-path: %s" config-snippets config-snippet-path) (dolist (snippet config-snippets) diff --git a/.gitignore.d/emacs b/.gitignore.d/emacs index 8e8ef0d..5468ecf 100644 --- a/.gitignore.d/emacs +++ b/.gitignore.d/emacs @@ -5,9 +5,11 @@ !/.emacs.d/config/c.el !/.emacs.d/config/dev.el !/.emacs.d/config/functions.el +!/.emacs.d/config/git.el !/.emacs.d/config/gpg.el !/.emacs.d/config/org.el !/.emacs.d/config/pass.el +!/.emacs.d/config/ripgrep.el !/.emacs.d/config/rust.el !/.emacs.d/config/tramp.el !/.emacs.d/config/yaml.el