summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emacs/init.el143
1 files changed, 86 insertions, 57 deletions
diff --git a/emacs/init.el b/emacs/init.el
index 8c6f7c7..352c82f 100644
--- a/emacs/init.el
+++ b/emacs/init.el
@@ -228,7 +228,7 @@ given keymap or in the global keymap."
(use-package corfu-terminal ; make corfu work on terminals
:demand t
:custom
- (corfu-terminal-disable-on-gui t)
+ (corfu-terminal-disable-on-gui nil)
:config
(corfu-terminal-mode 1))
@@ -430,6 +430,7 @@ given keymap or in the global keymap."
(add-hook 'completion-at-point-functions
'bash-completion-capf-nonexclusive nil t))))
+(use-package pinentry)
(use-package pass ; password integration
:demand t
:init
@@ -631,7 +632,7 @@ given keymap or in the global keymap."
;; ("TAB" . 'indent-for-tab-command)))
(use-package exwm ; emacs x window manager
- :demand t
+ :demand nil
:config
(require 'exwm-randr)
(require 'exwm-xim)
@@ -650,6 +651,10 @@ changes."
(call-process-shell-command "xrandr --listmonitors -q" nil buf nil)
(with-current-buffer buf
(keep-lines "[^[:word:]]connected" (point-min) (point-max) nil)
+ ;; (goto-char (point-min))
+ ;; (while (re-search-forward "^\\([a-zA-Z\\-0-9]+\\) .*$" nil t nil)
+ ;; (replace-match "\\1"))
+ ;; (goto-char (point-min))
(let ((num-monitors (count-lines (point-min) (point-max)))
(i 0))
(setq exwm-workspace-number num-monitors)
@@ -660,10 +665,18 @@ changes."
(search-forward-regexp " ")
(backward-char)
(push (buffer-substring (mark) (point)) out-plist)
+ (if (> i 0)
+ (let ((prev (caddr out-plist))
+ (cur (car out-plist)))
+ (call-process-shell-command
+ (format "xrandr --output %s --auto --right-of %s" cur prev)
+ nil nil nil))
+ (call-process-shell-command
+ (format "xrandr --output %s --auto" (car out-plist)) nil nil nil))
(push i out-plist)
(setq i (+ i 1))
(pop-mark)
- (next-line))))
+ (forward-line))))
(kill-buffer buf)
(setq exwm-randr-workspace-monitor-plist out-plist))
(while (> exwm-workspace-number (length exwm-workspace--list))
@@ -736,7 +749,7 @@ changes."
(push ?\C-u exwm-input-prefix-keys) ;; send C-u to all windows too
(push ?\M-L exwm-input-prefix-keys)
(progn
- (exwm-wm-mode)
+ ;; (exwm-wm-mode)
;; (display-time-mode 1)
;; (display-battery-mode 1)
;; (ednc-mode 1)
@@ -842,7 +855,7 @@ changes."
(erc-nick "tccq")
(erc-use-auth-source-for-nickserv-password t)
(erc-autojoin-channels-alist '(("libera.chat"
- "#emacs" "#emacs-social" "#linux" "#archlinux" "#haskell" "#invidious" "#duskos")))
+ "#emacs" "#haskell" "#duskos" "#ocaml")))
(erc-hide-list '("JOIN" "PART" "QUIT"))
(erc-current-nick-highlight-type 'nick)
@@ -952,6 +965,11 @@ changes."
(if (window-parameter nil 'no-other-window) "o" "")))
'(:name "other-window-indicator"))
+;; (add-hook 'window-configuration-change-hook
+;; #'(lambda ()
+;; (when (active-minibuffer-window)
+;; (select-window (active-minibuffer-window)))))
+
;; this stuff is conditionally activated by exwm
@@ -988,58 +1006,58 @@ changes."
;; (ednc-mode 1))
)
-(use-package mu4e
- :ensure nil
- :demand t
- :init
- ;; assumed Maildir layout
- ;; ~/Maildir/Account0/{Inbox,Sent,Trash}
- ;; ~/Maildir/Account1/{Inbox,Sent,Trash}
- ;; where Account0 is context name
- (defun my/make-mu4e-context (context-name full-name mail-address signature)
- "Return a mu4e context named CONTEXT-NAME with :match-func matching
- folder name CONTEXT-NAME in Maildir. The context's `user-mail-address',
- `user-full-name' and `mu4e-compose-signature' is set to MAIL-ADDRESS
- FULL-NAME and SIGNATURE respectively.
- Special folders are set to context specific folders."
- (let ((dir-name (concat "/" context-name)))
- (make-mu4e-context
- :name context-name
- ;; we match based on the maildir of the message
- ;; this matches maildir /Arkham and its sub-directories
- :match-func
- `(lambda (msg)
- (when msg
- (string-match-p
- ,(concat "^" dir-name)
- (mu4e-message-field msg :maildir))))
- :vars
- `((user-mail-address . ,mail-address)
- (user-full-name . ,full-name)
- (mu4e-sent-folder . ,(concat dir-name "/sent"))
- (mu4e-drafts-folder . ,(concat dir-name "/drafts"))
- (mu4e-trash-folder . ,(concat dir-name "/trash"))
- (mu4e-refile-folder . ,(concat dir-name "/archive"))
- (mu4e-compose-signature . ,signature)))))
- :custom
- (mu4e-change-filenames-when-moving t)
- (mu4e-get-mail-command "mbsync --all")
- :config
- ;;Fixing duplicate UID errors when using mbsync and mu4e
- (setq mu4e-contexts
- `(,(my/make-mu4e-context
- "thomasmulmer02" "Thomas Ulmer"
- "thomasmulmer02@gmail.com" "Thanks,
-Thomas Ulmer")))
+;; (use-package mu4e
+;; :ensure nil
+;; :demand nil
+;; :init
+;; ;; assumed Maildir layout
+;; ;; ~/Maildir/Account0/{Inbox,Sent,Trash}
+;; ;; ~/Maildir/Account1/{Inbox,Sent,Trash}
+;; ;; where Account0 is context name
+;; (defun my/make-mu4e-context (context-name full-name mail-address signature)
+;; "Return a mu4e context named CONTEXT-NAME with :match-func matching
+;; folder name CONTEXT-NAME in Maildir. The context's `user-mail-address',
+;; `user-full-name' and `mu4e-compose-signature' is set to MAIL-ADDRESS
+;; FULL-NAME and SIGNATURE respectively.
+;; Special folders are set to context specific folders."
+;; (let ((dir-name (concat "/" context-name)))
+;; (make-mu4e-context
+;; :name context-name
+;; ;; we match based on the maildir of the message
+;; ;; this matches maildir /Arkham and its sub-directories
+;; :match-func
+;; `(lambda (msg)
+;; (when msg
+;; (string-match-p
+;; ,(concat "^" dir-name)
+;; (mu4e-message-field msg :maildir))))
+;; :vars
+;; `((user-mail-address . ,mail-address)
+;; (user-full-name . ,full-name)
+;; (mu4e-sent-folder . ,(concat dir-name "/sent"))
+;; (mu4e-drafts-folder . ,(concat dir-name "/drafts"))
+;; (mu4e-trash-folder . ,(concat dir-name "/trash"))
+;; (mu4e-refile-folder . ,(concat dir-name "/archive"))
+;; (mu4e-compose-signature . ,signature)))))
+;; :custom
+;; (mu4e-change-filenames-when-moving t)
+;; (mu4e-get-mail-command "mbsync --all")
+;; :config
+;; ;;Fixing duplicate UID errors when using mbsync and mu4e
+;; (setq mu4e-contexts
+;; `(,(my/make-mu4e-context
+;; "thomasmulmer02" "Thomas Ulmer"
+;; "thomasmulmer02@gmail.com" "Thanks,
+;; Thomas Ulmer")))
- (require 'smtpmail)
- (setq message-send-mail-function 'smtpmail-send-it)
- (setq smtpmail-default-smtp-server "smtp.gmail.com"
- smtpmail-smtp-server "smtp.gmail.com"
- smtpmail-smtp-service 587
- starttls-use-gnutls t
- smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
- smtp-auth-credentials (expand-file-name "~/.authinfo.gpg")))
+;; (require 'smtpmail)
+;; (setq message-send-mail-function 'smtpmail-send-it)
+;; (setq smtpmail-default-smtp-server "smtp.gmail.com"
+;; smtpmail-smtp-server "smtp.gmail.com"
+;; smtpmail-smtp-service 587
+;; starttls-use-gnutls t
+;; smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
+;; smtp-auth-credentials (expand-file-name "~/.authinfo.gpg")))
;; ----------------------------------------------------------------------
@@ -1206,7 +1224,18 @@ Thomas Ulmer")))
'(gdb-non-stop-setting nil)
'(helm-minibuffer-history-key "M-p")
'(menu-bar-mode nil)
- '(package-selected-packages nil)
+ '(package-selected-packages
+ '(balanced-windows bash-completion benchmark-init buffer-move cape
+ corfu-terminal counsel doom-modeline eat ednc
+ eglot-tempel embark-consult esh-help
+ exwm-modeline fold-this free-keys haskell-mode
+ hl-todo ibuffer-vc lsp-haskell magit marginalia
+ merlin minions ocp-indent opam opam-switch-mode
+ orderless origami pass pinentry pyvenv
+ racket-mode rustic sdcv shelldon sideline-eglot
+ sideline-flycheck sideline-flymake sideline-lsp
+ symon tempel-collection treemacs tuareg vcl-mode
+ vertico visible-mark vterm winum))
'(pyim-assistant-scheme 'cangjie)
'(safe-local-variable-values '((LEXICAL-binding . t)))
'(scroll-bar-mode nil)