From 012b1e0574868d2040a3bf0b0f303d7fe7d0feb7 Mon Sep 17 00:00:00 2001 From: Marc Coquand Date: Mon, 28 Oct 2024 10:13:35 +0200 Subject: . --- home/dots/.emacs | 79 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 66 insertions(+), 13 deletions(-) (limited to 'home/dots/.emacs') diff --git a/home/dots/.emacs b/home/dots/.emacs index 462d165..b54ad1b 100644 --- a/home/dots/.emacs +++ b/home/dots/.emacs @@ -2,10 +2,9 @@ (add-to-list 'load-path "~/.emacs.d/elisp") (fset 'yes-or-no-p 'y-or-n-p) (setq - inhibit-startup-screen t -; default-frame-alist '((font . "Iosevka SS13 Extended") -; (height . 125) -; (line-spacing . 0.5)) + default-frame-alist '((font . "Iosevka SS13 Extended") + (height . 125) + (line-spacing . 0.5)) ;; undo undo-limit 10000000 undo-outer-limit 20000000 @@ -14,10 +13,12 @@ package-list '(almost-mono-themes avy devdocs + ednc eldoc-box elfeed elfeed-protocol enwc + embark emms expand-region exwm @@ -32,6 +33,7 @@ mastodon nix-mode nov + org-alert org-remark pass pinentry @@ -88,8 +90,7 @@ (tab-bar-select-tab ,i)))) (number-sequence 0 9)))) (exwm-input-set-key (kbd "s-f") - (lambda () (interactive) - (shell-command "firefox"))) + 'exwm-layout-toggle-fullscreen) (exwm-input-set-key (kbd "") (lambda () (interactive) (shell-command "scrot -F '/home/mccd/screenshots/%Y-%m-%d_$wx$h.png'"))) @@ -117,8 +118,13 @@ (start-process-shell-command cmd nil cmd))) (exwm-enable) (exwm-xim-mode) + (require 'exwm-systemtray) + (exwm-systemtray-mode) + (setq exwm-systemtray-height 30) + (shell-command "xset r rate 200 60 1> /dev/null") - (shell-command "xrdb ~/.Xresources") + (shell-command "xrdb ~/.Xresources") + (shell-command "dbus-update-activation-environment DISPLAY") (push ?\C-\\ exwm-input-prefix-keys) :config (setq @@ -139,6 +145,17 @@ (if (<= (length exwm-title) 50) exwm-title (concat (substring exwm-title 0 49) "...")))))))) + +(use-package ffap + :demand t + :bind + (("C-x C-f" . find-file-at-point)) + :init + (ffap-bindings) + :config + (setq ffap-require-prefix nil)) + + (use-package time :init (display-time-mode) @@ -146,7 +163,10 @@ (setq display-time-format "%a, %d/%m/%Y %H:%M")) (use-package geiser - :ensure t) + :ensure t + :config + (with-eval-after-load 'geiser-guile + (add-to-list 'geiser-guile-load-path "~/builds/nonguix"))) (use-package pixel-scroll :init @@ -182,6 +202,13 @@ :defer t :ensure t) +(use-package embark + :ensure t + :bind + (("M-RET" . embark-dwim) + ("C-h B" . embark-bindings)) + :ensure t) + (use-package select :config (setq x-select-enable-clipboard t @@ -224,6 +251,12 @@ :init (add-to-list 'auto-mode-alist '("\\.epub'" . nov-mode))) +(use-package ednc + :ensure t + :demand t + :init + (ednc-mode)) + (use-package org-remark :bind (;; :bind keyword also implicitly defers org-remark itself. ;; Keybindings before :map is set for global-map. @@ -307,8 +340,14 @@ (use-package enwc :ensure t - :config - (setq enwc-default-backend 'nm)) + :init + (setq enwc-default-backend 'nm) + (defun list-notifications () + (mapconcat #'ednc-format-notification (ednc-notifications) "")) + + (nconc global-mode-string '((:eval (list-notifications)))) ; or stack + (add-hook 'ednc-notification-presentation-functions + (lambda (&rest _) (force-mode-line-update t)))) (use-package org-crypt :ensure nil @@ -440,8 +479,8 @@ (use-package expand-region :ensure t - :init - (global-set-key (kbd "C-c .") 'er/expand-region)) + :bind + ("C-c ." . er/expand-region)) (use-package devdocs :ensure t @@ -544,6 +583,12 @@ (add-hook 'before-save-hook #'nix-format-buffer nil t))) (nix-mode . nix-prettify-mode))) +(use-package hyperbole + :ensure t + :defer t + :config + (setq hyperbole-file-list '("~/personal-db/notes/inbox.org"))) + (use-package eglot :config ;; Ensure `nil` is in your PATH. @@ -673,6 +718,14 @@ (add-hook 'after-save-hook 'sync-org nil t))) (org-mode . variable-pitch-mode))) +(use-package org-alert + :init + (setq alert-default-style 'libnotify + org-alert-interval 300 + org-alert-notify-cutoff 10 + org-alert-notify-after-event-cutoff 10) + :ensure t) + (use-package rec-mode :ensure t) @@ -932,7 +985,7 @@ '((:name "Last 7 days" :query "date:7d..now" :hide-unread t :key 119) (:name "Messages with images" :query "mime:image/*" :key 112))) '(org-agenda-files - '("~/personal-db/notes/sustainable-software.org" "/home/mccd/personal-db/notes/thoughts.org" "/home/mccd/personal-db/notes/cal-ios.org" "/home/mccd/personal-db/notes/ethics-and-software.org" "/home/mccd/personal-db/notes/reminders.org" "/home/mccd/builds/sustainably/piva.org" "/home/mccd/personal-db/notes/programming.org" "/home/mccd/personal-db/notes/unix.org" "/home/mccd/personal-db/notes/agency-and-tech.org" "/home/mccd/personal-db/notes/emacs-teaches.org" "/home/mccd/personal-db/notes/emacs.org" "/home/mccd/personal-db/notes/inbox.org" "/home/mccd/personal-db/notes/todo.org")) + '("~/personal-db/notes/sustainable-software.org" "/home/mccd/personal-db/notes/thoughts.org" "/home/mccd/personal-db/notes/cal-ios.org" "/home/mccd/personal-db/notes/ethics-and-software.org" "/home/mccd/personal-db/notes/reminders.org" "/home/mccd/builds/sustainably/piva.org" "/home/mccd/personal-db/notes/programming.org" "/home/mccd/personal-db/notes/unix.org" "/home/mccd/personal-db/notes/agency-and-tech.org" "/home/mccd/personal-db/notes/emacs-teaches.org" "/home/mccd/personal-db/notes/emacs.org" "/home/mccd/personal-db/notes/inbox.org" "/home/mccd/personal-db/notes/todo.org" "/home/mccd/system/guix.org")) '(org-fold-core-style 'overlays) '(package-selected-packages '(nov eldoc-box hide-mode-line exwm-mff eat pinentry exwm emms company orglink web-mode flycheck nix-mode nix-ts-mode avy pdf-tools elfeed-protocol lem yasnippet-snippets elfeed yasnippet smartparens markdown-mode mastodon tldr almost-mono-themes rec-mode magit go-mode expand-region devdocs)) -- cgit v1.2.3