mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
Several Improvements to Emacs and NixOX
Emacs: Fix: Emacs mouse wheel scrolling was overshooting sometimes Feat: Hide more useless messages in the echo are (NO CHILDREN) Feat: Add presentation mode using org-present Fix: Fix org-tempo angled brackets insertion Feat: better math mode in AucTeX in lieu of some yasnippet bits Fix: add treesitter modes to eglot for automatic startup Fix: Make mu4e automatic sender address choosing more robust NixOS: Feat: Add oama derivation Feat: Add main email sender address to config Feat: Add opacity toggle (for use with presentation mode)
This commit is contained in:
parent
85c3c8b69f
commit
4cdfd1e9ea
8 changed files with 782 additions and 326 deletions
317
Emacs.org
317
Emacs.org
|
|
@ -119,6 +119,7 @@ Here I set up some things that are too minor to put under other categories.
|
|||
(global-hl-line-mode 1)
|
||||
;; (setq redisplay-dont-pause t) ;; obsolete
|
||||
(setq blink-cursor-mode nil) ;; blink-cursor is an unexpected source of slowdown
|
||||
(setq blink-matching-paren nil) ;; this makes the cursor jump around annoyingly
|
||||
(delete-selection-mode 1)
|
||||
(setq vc-follow-symlinks t)
|
||||
(setq require-final-newline t)
|
||||
|
|
@ -183,10 +184,24 @@ By default, emacs scrolls half a page when reaching the bottom of the buffer. Th
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(setq scroll-step 1
|
||||
scroll-margin 4
|
||||
scroll-conservatively 101)
|
||||
;; (setq scroll-step 1
|
||||
;; scroll-margin 4
|
||||
;; scroll-conservatively 101)
|
||||
|
||||
(setq mouse-wheel-scroll-amount
|
||||
'(1
|
||||
((shift) . 5)
|
||||
((meta) . 0.5)
|
||||
((control) . text-scale))
|
||||
mouse-drag-copy-region nil
|
||||
make-pointer-invisible t
|
||||
mouse-wheel-progressive-speed t
|
||||
mouse-wheel-follow-mouse t)
|
||||
|
||||
(setq-default scroll-preserve-screen-position t
|
||||
scroll-conservatively 1
|
||||
scroll-margin 0
|
||||
next-screen-context-lines 0)
|
||||
;; (setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
|
||||
;; (setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
|
||||
;; (setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
|
||||
|
|
@ -307,6 +322,7 @@ This function will check if a directory for which a file we want to open exists;
|
|||
(advice-add 'mu4e--server-filter :around #'suppress-messages)
|
||||
(advice-add 'org-unlogged-message :around #'suppress-messages)
|
||||
(advice-add 'magit-auto-revert-mode--init-kludge :around #'suppress-messages)
|
||||
(advice-add 'push-mark :around #'suppress-messages)
|
||||
|
||||
;; to reenable
|
||||
;; (advice-remove 'timer-event-handler #'suppress-messages)
|
||||
|
|
@ -322,7 +338,7 @@ This function will check if a directory for which a file we want to open exists;
|
|||
;; (advice-add 'message :around #'who-called-me?)
|
||||
|
||||
;; disable to stop receiving backtrace
|
||||
;; (advice-remove 'message #'who-called-me?)
|
||||
(advice-remove 'message #'who-called-me?)
|
||||
|
||||
|
||||
#+end_src
|
||||
|
|
@ -400,6 +416,8 @@ Base emacs undo logic is very useful, but not easy to understand. I prefer undo-
|
|||
"mc" '((lambda () (interactive) (swarsel/open-calendar)) :which-key "calendar")
|
||||
"mp" '(popper-toggle :which-key "popper")
|
||||
"md" '(dirvish :which-key "dirvish")
|
||||
"o" '(:ignore o :which-key "org")
|
||||
"op" '((lambda () (interactive) (org-present)) :which-key "org-present")
|
||||
;; "c" '(:ignore c :which-key "capture")
|
||||
;; "cj" '((lambda () (interactive) (org-capture nil "jj")) :which-key "journal")
|
||||
;; "cs" '(markdown-download-screenshot :which-key "screenshot")
|
||||
|
|
@ -994,24 +1012,26 @@ Soon I want to try out this new hot stuff - just at the moment there is too much
|
|||
|
||||
|
||||
|
||||
;; ;; Set faces for heading levels
|
||||
;; (with-eval-after-load 'org-faces (dolist (face '((org-level-1 . 1.3)
|
||||
;; (org-level-2 . 1.2)
|
||||
;; (org-level-3 . 1.15)
|
||||
;; (org-level-4 . 1.1)
|
||||
;; (org-level-5 . 1.1)
|
||||
;; (org-level-6 . 1.1)
|
||||
;; (org-level-7 . 1.1)
|
||||
;; (org-level-8 . 1.1)))
|
||||
;; (set-face-attribute (car face) nil :font swarsel-alt-font :weight 'regular :height (cdr face)))
|
||||
;; Set faces for heading levels
|
||||
(with-eval-after-load 'org-faces (dolist (face '((org-level-1 . 1.1)
|
||||
(org-level-2 . 0.9)
|
||||
(org-level-3 . 0.9)
|
||||
(org-level-4 . 0.9)
|
||||
(org-level-5 . 0.9)
|
||||
(org-level-6 . 0.9)
|
||||
(org-level-7 . 0.9)
|
||||
(org-level-8 . 0.9)))
|
||||
(set-face-attribute (car face) nil :font swarsel-alt-font :weight 'medium :height (cdr face)))
|
||||
|
||||
;; ;; Ensure that anything that should be fixed-pitch in Org files appears that way
|
||||
;; (set-face-attribute 'org-block nil :inherit '(fixed-pitch))
|
||||
;; (set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch))
|
||||
;; (set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
|
||||
;; (set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
;; (set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
;; (set-face-attribute 'org-checkbox nil :inherit '(fixed-pitch)))
|
||||
;; Ensure that anything that should be fixed-pitch in Org files appears that way
|
||||
(set-face-attribute 'org-block nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-formula nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch))
|
||||
|
||||
#+end_src
|
||||
|
||||
|
|
@ -1073,7 +1093,9 @@ Soon I want to try out this new hot stuff - just at the moment there is too much
|
|||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
'((emacs-lisp . t)
|
||||
(python . t)))
|
||||
(python . t)
|
||||
(shell . t)
|
||||
))
|
||||
|
||||
(push '("conf-unix" . conf-unix) org-src-lang-modes)
|
||||
|
||||
|
|
@ -1088,7 +1110,7 @@ Soon I want to try out this new hot stuff - just at the moment there is too much
|
|||
(require 'org-tempo)
|
||||
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
||||
(add-to-list 'org-structure-template-alist '("py" . "src python :results output"))
|
||||
(add-to-list 'org-structure-template-alist '("nix" . "src nix :tangle"))
|
||||
|
||||
#+end_src
|
||||
|
|
@ -1119,8 +1141,7 @@ Soon I want to try out this new hot stuff - just at the moment there is too much
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package auctex
|
||||
:ensure nil)
|
||||
(use-package auctex)
|
||||
(setq TeX-auto-save t)
|
||||
(setq TeX-save-query nil)
|
||||
(setq TeX-parse-self t)
|
||||
|
|
@ -1130,7 +1151,9 @@ Soon I want to try out this new hot stuff - just at the moment there is too much
|
|||
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
|
||||
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
|
||||
(add-hook 'LaTeX-mode-hook 'reftex-mode)
|
||||
|
||||
(setq LaTeX-electric-left-right-brace t)
|
||||
(setq font-latex-fontify-script nil)
|
||||
(setq TeX-electric-sub-and-superscript t)
|
||||
;; (setq reftex-plug-into-AUCTeX t)
|
||||
|
||||
#+end_src
|
||||
|
|
@ -1192,6 +1215,114 @@ Soon I want to try out this new hot stuff - just at the moment there is too much
|
|||
|
||||
#+end_src
|
||||
|
||||
** Presentations
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package org-present
|
||||
:bind (:map org-present-mode-keymap
|
||||
("q" . org-present-quit)
|
||||
("<left>" . swarsel/org-present-prev)
|
||||
("<up>" . 'ignore)
|
||||
("<down>" . 'ignore)
|
||||
("<right>" . swarsel/org-present-next))
|
||||
:hook ((org-present-mode . swarsel/org-present-start)
|
||||
(org-present-mode-quit . swarsel/org-present-end))
|
||||
)
|
||||
|
||||
|
||||
(use-package hide-mode-line)
|
||||
|
||||
(defun swarsel/org-present-start ()
|
||||
(setq-local face-remapping-alist '((default (:height 1.5) variable-pitch)
|
||||
(header-line (:height 4.0) variable-pitch)
|
||||
(org-document-title (:height 1.75) org-document-title)
|
||||
(org-code (:height 1.55) org-code)
|
||||
(org-verbatim (:height 1.55) org-verbatim)
|
||||
(org-block (:height 1.25) org-block)
|
||||
(org-block-begin-line (:height 0.7) org-block)
|
||||
))
|
||||
(dolist (face '((org-level-1 . 1.1)
|
||||
(org-level-2 . 1.2)
|
||||
(org-level-3 . 1.2)
|
||||
(org-level-4 . 1.2)
|
||||
(org-level-5 . 1.2)
|
||||
(org-level-6 . 1.2)
|
||||
(org-level-7 . 1.2)
|
||||
(org-level-8 . 1.2)))
|
||||
(set-face-attribute (car face) nil :font swarsel-alt-font :weight 'medium :height (cdr face)))
|
||||
|
||||
(setq header-line-format " ")
|
||||
(setq visual-fill-column-width 90)
|
||||
(setq indicate-buffer-boundaries nil)
|
||||
(setq inhibit-message nil)
|
||||
(breadcrumb-mode 0)
|
||||
(org-display-inline-images)
|
||||
(global-hl-line-mode 0)
|
||||
(display-line-numbers-mode 0)
|
||||
(org-modern-mode 0)
|
||||
(evil-insert-state 1)
|
||||
(beginning-of-buffer)
|
||||
(org-present-read-only)
|
||||
;; (org-present-hide-cursor)
|
||||
(swarsel/org-present-slide)
|
||||
)
|
||||
|
||||
(defun swarsel/org-present-end ()
|
||||
(setq-local face-remapping-alist '((default variable-pitch default)))
|
||||
(dolist (face '((org-level-1 . 1.1)
|
||||
(org-level-2 . 0.9)
|
||||
(org-level-3 . 0.9)
|
||||
(org-level-4 . 0.9)
|
||||
(org-level-5 . 0.9)
|
||||
(org-level-6 . 0.9)
|
||||
(org-level-7 . 0.9)
|
||||
(org-level-8 . 0.9)))
|
||||
(set-face-attribute (car face) nil :font swarsel-alt-font :weight 'medium :height (cdr face)))
|
||||
(setq header-line-format nil)
|
||||
(setq visual-fill-column-width 150)
|
||||
(setq indicate-buffer-boundaries t)
|
||||
(setq inhibit-message nil)
|
||||
(breadcrumb-mode 1)
|
||||
(global-hl-line-mode 1)
|
||||
(display-line-numbers-mode 1)
|
||||
(org-remove-inline-images)
|
||||
(org-modern-mode 1)
|
||||
(evil-normal-state 1)
|
||||
;; (org-present-show-cursor)
|
||||
)
|
||||
|
||||
(defun swarsel/org-present-slide ()
|
||||
(org-overview)
|
||||
(org-show-entry)
|
||||
(org-show-children)
|
||||
)
|
||||
|
||||
(defun swarsel/org-present-prev ()
|
||||
(interactive)
|
||||
(org-present-prev)
|
||||
(swarsel/org-present-slide))
|
||||
|
||||
(defun swarsel/org-present-next ()
|
||||
(interactive)
|
||||
(unless (eobp)
|
||||
(org-next-visible-heading 1)
|
||||
(org-fold-show-entry))
|
||||
(when (eobp)
|
||||
(org-present-next)
|
||||
(swarsel/org-present-slide)
|
||||
))
|
||||
|
||||
(defun clojure-leave-clojure-mode-function ()
|
||||
)
|
||||
|
||||
(add-hook 'buffer-list-update-hook #'clojure-leave-clojure-mode-function)
|
||||
(add-hook 'org-present-mode-hook 'swarsel/org-present-start)
|
||||
(add-hook 'org-present-mode-quit-hook 'swarsel/org-present-end)
|
||||
(add-hook 'org-present-after-navigate-functions 'swarsel/org-present-slide)
|
||||
|
||||
#+end_src
|
||||
|
||||
* Nix Mode
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
|
@ -1606,6 +1737,12 @@ I am not completely sure on electric-pair-mode yet, sometimes it is very helpful
|
|||
;; don't skip newline when auto-pairing parenthesis
|
||||
(setq electric-pair-skip-whitespace-chars '(9 32))
|
||||
|
||||
;; in org-mode buffers, do not pair < and > in order not to interfere with org-tempo
|
||||
(add-hook 'org-mode-hook (lambda ()
|
||||
(setq-local electric-pair-inhibit-predicate
|
||||
`(lambda (c)
|
||||
(if (char-equal c ?<) t (,electric-pair-inhibit-predicate c))))))
|
||||
|
||||
#+end_src
|
||||
|
||||
** IDE
|
||||
|
|
@ -1921,58 +2058,58 @@ The following block is 100% stolen from Dominik :P
|
|||
#+begin_src emacs-lisp
|
||||
|
||||
|
||||
(setq wtf/latex-greek-prefix "'")
|
||||
(setq wtf/latex-math-prefix "`")
|
||||
;; (setq wtf/latex-greek-prefix "'")
|
||||
;; (setq wtf/latex-math-prefix "`")
|
||||
(setq wtf/latex-mathbb-prefix "''")
|
||||
(setq swarsel/latex-mathcal-prefix "``")
|
||||
|
||||
(use-package yasnippet
|
||||
:config
|
||||
(setq swtf/greek-alphabet
|
||||
'(("a" . "\\alpha")
|
||||
("b" . "\\beta" )
|
||||
("g" . "\\gamma")
|
||||
("d" . "\\delta")
|
||||
("e" . "\\epsilon")
|
||||
("z" . "\\zeta")
|
||||
("h" . "\\eta")
|
||||
("th" . "\\theta")
|
||||
("i" . "\\iota")
|
||||
("k" . "\\kappa")
|
||||
("l" . "\\lambda")
|
||||
("m" . "\\mu")
|
||||
("n" . "\\nu")
|
||||
("x" . "\\xi")
|
||||
("p" . "\\pi")
|
||||
("r" . "\\rho")
|
||||
("s" . "\\sigma")
|
||||
("t" . "\\tau")
|
||||
("u" . "\\upsilon")
|
||||
("f" . "\\phi")
|
||||
("c" . "\\chi")
|
||||
("v" . "\\psi")
|
||||
("o" . "\\omega")))
|
||||
;; (setq swtf/greek-alphabet
|
||||
;; '(("a" . "\\alpha")
|
||||
;; ("b" . "\\beta" )
|
||||
;; ("g" . "\\gamma")
|
||||
;; ("d" . "\\delta")
|
||||
;; ("e" . "\\epsilon")
|
||||
;; ("z" . "\\zeta")
|
||||
;; ("h" . "\\eta")
|
||||
;; ("th" . "\\theta")
|
||||
;; ("i" . "\\iota")
|
||||
;; ("k" . "\\kappa")
|
||||
;; ("l" . "\\lambda")
|
||||
;; ("m" . "\\mu")
|
||||
;; ("n" . "\\nu")
|
||||
;; ("x" . "\\xi")
|
||||
;; ("p" . "\\pi")
|
||||
;; ("r" . "\\rho")
|
||||
;; ("s" . "\\sigma")
|
||||
;; ("t" . "\\tau")
|
||||
;; ("u" . "\\upsilon")
|
||||
;; ("f" . "\\phi")
|
||||
;; ("c" . "\\chi")
|
||||
;; ("v" . "\\psi")
|
||||
;; ("o" . "\\omega")))
|
||||
|
||||
|
||||
;; The same for capitalized letters
|
||||
(dolist (elem swtf/greek-alphabet)
|
||||
(let ((key (car elem))
|
||||
(value (cdr elem)))
|
||||
(when (string-equal key (downcase key))
|
||||
(add-to-list 'swtf/greek-alphabet
|
||||
(cons
|
||||
(capitalize (car elem))
|
||||
(concat
|
||||
(substring value 0 1)
|
||||
(capitalize (substring value 1 2))
|
||||
(substring value 2)))))))
|
||||
;; (dolist (elem swtf/greek-alphabet)
|
||||
;; (let ((key (car elem))
|
||||
;; (value (cdr elem)))
|
||||
;; (when (string-equal key (downcase key))
|
||||
;; (add-to-list 'swtf/greek-alphabet
|
||||
;; (cons
|
||||
;; (capitalize (car elem))
|
||||
;; (concat
|
||||
;; (substring value 0 1)
|
||||
;; (capitalize (substring value 1 2))
|
||||
;; (substring value 2)))))))
|
||||
|
||||
(yas-define-snippets
|
||||
'latex-mode
|
||||
(mapcar
|
||||
(lambda (elem)
|
||||
(list (concat wtf/latex-greek-prefix (car elem)) (cdr elem) (concat "Greek letter " (car elem))))
|
||||
swtf/greek-alphabet))
|
||||
;; (yas-define-snippets
|
||||
;; 'latex-mode
|
||||
;; (mapcar
|
||||
;; (lambda (elem)
|
||||
;; (list (concat wtf/latex-greek-prefix (car elem)) (cdr elem) (concat "Greek letter " (car elem))))
|
||||
;; swtf/greek-alphabet))
|
||||
|
||||
(setq wtf/english-alphabet
|
||||
'("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))
|
||||
|
|
@ -2031,7 +2168,6 @@ The following block is 100% stolen from Dominik :P
|
|||
#+end_src
|
||||
|
||||
|
||||
|
||||
*** Duplicate Lines
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
|
@ -2139,9 +2275,13 @@ The following block is 100% stolen from Dominik :P
|
|||
:ensure nil
|
||||
:hook
|
||||
((python-mode
|
||||
python-ts-mode
|
||||
c-mode
|
||||
c-ts-mode
|
||||
c++-mode
|
||||
c++-ts-mode
|
||||
tex-mode
|
||||
LaTeX-mode
|
||||
) . (lambda () (progn
|
||||
(eglot-ensure)
|
||||
(add-hook 'before-save-hook 'eglot-format nil 'local))))
|
||||
|
|
@ -2472,11 +2612,46 @@ The following block is 100% stolen from Dominik :P
|
|||
(:maildir "/Drafts" :key ?d)
|
||||
(:maildir "/All Mail" :key ?a))))
|
||||
|
||||
(setq user-mail-address "leon.schwarzaeugl@gmail.com"
|
||||
(setq user-mail-address "leon@swarsel.win"
|
||||
user-full-name "Leon Schwarzäugl")
|
||||
|
||||
(setq mu4e-hide-index-messages t)
|
||||
|
||||
(setq mu4e-user-mail-address-list '(leon.schwarzaeugl@gmail.com leon@swarsel.win nautilus.dw@gmail.com mrswarsel@gmail.com))
|
||||
|
||||
(defun swarsel/mu4e-switch-account ()
|
||||
(interactive)
|
||||
(let ((account (completing-read "Select account: " mu4e-user-mail-address-list)))
|
||||
(setq user-mail-address account)))
|
||||
|
||||
(defun swarsel/mu4e-rfs--matching-address ()
|
||||
(cl-loop for to-data in (mu4e-message-field mu4e-compose-parent-message :to)
|
||||
for to-email = (pcase to-data
|
||||
(`(_ . email) email)
|
||||
(x (mu4e-contact-email x)))
|
||||
for to-name = (pcase to-data
|
||||
(`(_ . name) name)
|
||||
(x (mu4e-contact-name x)))
|
||||
when (mu4e-user-mail-address-p to-email)
|
||||
return (list to-name to-email)))
|
||||
|
||||
(defun swarsel/mu4e-send-from-correct-address ()
|
||||
(when mu4e-compose-parent-message
|
||||
(save-excursion
|
||||
(when-let ((dest (swarsel/mu4e-rfs--matching-address)))
|
||||
(cl-destructuring-bind (from-user from-addr) dest
|
||||
(setq user-mail-address from-addr)
|
||||
(message-position-on-field "From")
|
||||
(message-beginning-of-line)
|
||||
(delete-region (point) (line-end-position))
|
||||
(insert (format "%s <%s>" (or from-user user-full-name) from-addr)))))))
|
||||
|
||||
(defun swarsel/mu4e-restore-default ()
|
||||
(setq user-mail-address "leon@swarsel.win"
|
||||
user-full-name "Leon Schwarzäugl"))
|
||||
|
||||
(add-hook 'mu4e-compose-mode-hook #'swarsel/mu4e-send-from-correct-address)
|
||||
(add-hook 'mu4e-compose-post-hook #'swarsel/mu4e-restore-default)
|
||||
#+end_src
|
||||
|
||||
** mu4e-alert
|
||||
|
|
|
|||
49
Nix.org
49
Nix.org
|
|
@ -4527,6 +4527,31 @@ Mostly used to install some compilers and lps's that I want to have available wh
|
|||
(python3.withPackages(ps: with ps; [ jupyter ipython pyqt5 epc orjson sexpdata six setuptools paramiko numpy pandas scipy matplotlib requests debugpy flake8 gnureadline python-lsp-server]))
|
||||
# (python3.withPackages(ps: with ps; [ jupyter ipython pyqt5 numpy pandas scipy matplotlib requests debugpy flake8 gnureadline python-lsp-server]))
|
||||
# --------------------------------------------
|
||||
|
||||
(stdenv.mkDerivation {
|
||||
name = "oama";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
name = "oama";
|
||||
url = "https://github.com/pdobsan/oama/releases/download/0.13.1/oama-0.13.1-Linux-x86_64-static.tgz";
|
||||
sha256 = "sha256-OTdCObVfnMPhgZxVtZqehgUXtKT1iyqozdkPIV+i3Gc=";
|
||||
};
|
||||
|
||||
phases = [
|
||||
"unpackPhase"
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
mkdir -p $out/bin
|
||||
tar xvf $src -C $out/
|
||||
mv $out/oama-0.13.1-Linux-x86_64-static/oama $out/bin/
|
||||
'';
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
];
|
||||
|
||||
#+end_src
|
||||
|
|
@ -4978,6 +5003,7 @@ I use sops-nix to handle secrets that I want to have available on my machines at
|
|||
sops.secrets.mrswarsel = {path = "/run/user/1000/secrets/mrswarsel";};
|
||||
sops.secrets.nautilus = {path = "/run/user/1000/secrets/nautilus";};
|
||||
sops.secrets.leon = {path = "/run/user/1000/secrets/leon";};
|
||||
sops.secrets.swarselmail = {path = "/run/user/1000/secrets/swarselmail";};
|
||||
sops.secrets.caldav = {path = "${config.home.homeDirectory}/.emacs.d/.caldav";};
|
||||
# sops.secrets.leon = { };
|
||||
# sops.secrets.nautilus = { };
|
||||
|
|
@ -5565,6 +5591,28 @@ zsh is clearly the most convenient shell for me and it happens to be super neat
|
|||
};
|
||||
};
|
||||
|
||||
accounts.swarsel = {
|
||||
address = "leon@swarsel.win";
|
||||
userName = "8227dc594dd515ce232eda1471cb9a19";
|
||||
realName = "Leon Schwarzäugl";
|
||||
passwordCommand = "cat ${config.sops.secrets.swarselmail.path}";
|
||||
smtp = {
|
||||
host = "in-v3.mailjet.com";
|
||||
port = 587;
|
||||
tls = {
|
||||
enable = true;
|
||||
useStartTls = true;
|
||||
};
|
||||
};
|
||||
mu.enable = false;
|
||||
msmtp = {
|
||||
enable = true;
|
||||
};
|
||||
mbsync = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
|
||||
accounts.nautilus = {
|
||||
primary = false;
|
||||
address = "nautilus.dw@gmail.com";
|
||||
|
|
@ -6365,6 +6413,7 @@ I am currently using SwayFX, which adds some nice effects to sway, like rounded
|
|||
"${modifier}+x" = "exec \"bash ~/.dotfiles/scripts/checkkitty.sh\"";
|
||||
"${modifier}+d" = "exec \"bash ~/.dotfiles/scripts/checkdiscord.sh\"";
|
||||
"${modifier}+Shift+r" = "exec \"bash ~/.dotfiles/scripts/restart.sh\"";
|
||||
"${modifier}+Shift+t" = "exec \"bash ~/.dotfiles/scripts/toggle_opacity.sh\"";
|
||||
"${modifier}+Shift+F12" = "move scratchpad";
|
||||
"${modifier}+F12" = "scratchpad show";
|
||||
"${modifier}+c" = "exec qalculate-gtk";
|
||||
|
|
|
|||
|
|
@ -288,6 +288,7 @@ sops.validateSopsFiles = false;
|
|||
sops.secrets.mrswarsel = {path = "/run/user/1000/secrets/mrswarsel";};
|
||||
sops.secrets.nautilus = {path = "/run/user/1000/secrets/nautilus";};
|
||||
sops.secrets.leon = {path = "/run/user/1000/secrets/leon";};
|
||||
sops.secrets.swarselmail = {path = "/run/user/1000/secrets/swarselmail";};
|
||||
sops.secrets.caldav = {path = "${config.home.homeDirectory}/.emacs.d/.caldav";};
|
||||
# sops.secrets.leon = { };
|
||||
# sops.secrets.nautilus = { };
|
||||
|
|
@ -796,6 +797,28 @@ accounts.email = {
|
|||
};
|
||||
};
|
||||
|
||||
accounts.swarsel = {
|
||||
address = "leon@swarsel.win";
|
||||
userName = "8227dc594dd515ce232eda1471cb9a19";
|
||||
realName = "Leon Schwarzäugl";
|
||||
passwordCommand = "cat ${config.sops.secrets.swarselmail.path}";
|
||||
smtp = {
|
||||
host = "in-v3.mailjet.com";
|
||||
port = 587;
|
||||
tls = {
|
||||
enable = true;
|
||||
useStartTls = true;
|
||||
};
|
||||
};
|
||||
mu.enable = false;
|
||||
msmtp = {
|
||||
enable = true;
|
||||
};
|
||||
mbsync = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
|
||||
accounts.nautilus = {
|
||||
primary = false;
|
||||
address = "nautilus.dw@gmail.com";
|
||||
|
|
@ -1545,6 +1568,7 @@ wayland.windowManager.sway = {
|
|||
"${modifier}+x" = "exec \"bash ~/.dotfiles/scripts/checkkitty.sh\"";
|
||||
"${modifier}+d" = "exec \"bash ~/.dotfiles/scripts/checkdiscord.sh\"";
|
||||
"${modifier}+Shift+r" = "exec \"bash ~/.dotfiles/scripts/restart.sh\"";
|
||||
"${modifier}+Shift+t" = "exec \"bash ~/.dotfiles/scripts/toggle_opacity.sh\"";
|
||||
"${modifier}+Shift+F12" = "move scratchpad";
|
||||
"${modifier}+F12" = "scratchpad show";
|
||||
"${modifier}+c" = "exec qalculate-gtk";
|
||||
|
|
|
|||
|
|
@ -137,7 +137,32 @@ environment.systemPackages = with pkgs; [
|
|||
(python3.withPackages(ps: with ps; [ jupyter ipython pyqt5 epc orjson sexpdata six setuptools paramiko numpy pandas scipy matplotlib requests debugpy flake8 gnureadline python-lsp-server]))
|
||||
# (python3.withPackages(ps: with ps; [ jupyter ipython pyqt5 numpy pandas scipy matplotlib requests debugpy flake8 gnureadline python-lsp-server]))
|
||||
# --------------------------------------------
|
||||
];
|
||||
|
||||
(stdenv.mkDerivation {
|
||||
name = "oama";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
name = "oama";
|
||||
url = "https://github.com/pdobsan/oama/releases/download/0.13.1/oama-0.13.1-Linux-x86_64-static.tgz";
|
||||
sha256 = "sha256-OTdCObVfnMPhgZxVtZqehgUXtKT1iyqozdkPIV+i3Gc=";
|
||||
};
|
||||
|
||||
phases = [
|
||||
"unpackPhase"
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
mkdir -p $out/bin
|
||||
tar xvf $src -C $out/
|
||||
mv $out/oama-0.13.1-Linux-x86_64-static/oama $out/bin/
|
||||
'';
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
];
|
||||
|
||||
programs.dconf.enable = true;
|
||||
programs.evince.enable = true;
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@
|
|||
(global-hl-line-mode 1)
|
||||
;; (setq redisplay-dont-pause t) ;; obsolete
|
||||
(setq blink-cursor-mode nil) ;; blink-cursor is an unexpected source of slowdown
|
||||
(setq blink-matching-paren nil) ;; this makes the cursor jump around annoyingly
|
||||
(delete-selection-mode 1)
|
||||
(setq vc-follow-symlinks t)
|
||||
(setq require-final-newline t)
|
||||
|
|
@ -109,19 +110,33 @@
|
|||
;;(set-face-background 'highlight-indent-guides-even-face "steel blue")
|
||||
;;(set-face-foreground 'highlight-indent-guides-character-face "dark violet")
|
||||
|
||||
(setq scroll-step 1
|
||||
scroll-margin 4
|
||||
scroll-conservatively 101)
|
||||
;; (setq scroll-step 1
|
||||
;; scroll-margin 4
|
||||
;; scroll-conservatively 101)
|
||||
|
||||
;; (setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
|
||||
;; (setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
|
||||
;; (setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
|
||||
(setq mouse-wheel-scroll-amount
|
||||
'(1
|
||||
((shift) . 5)
|
||||
((meta) . 0.5)
|
||||
((control) . text-scale))
|
||||
mouse-drag-copy-region nil
|
||||
make-pointer-invisible t
|
||||
mouse-wheel-progressive-speed t
|
||||
mouse-wheel-follow-mouse t)
|
||||
|
||||
(pixel-scroll-precision-mode 1)
|
||||
(setq-default scroll-preserve-screen-position t
|
||||
scroll-conservatively 1
|
||||
scroll-margin 0
|
||||
next-screen-context-lines 0)
|
||||
;; (setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
|
||||
;; (setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
|
||||
;; (setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
|
||||
|
||||
;; (use-package fast-scroll
|
||||
;; :ensure nil
|
||||
;; :init (fast-scroll-mode 1))
|
||||
(pixel-scroll-precision-mode 1)
|
||||
|
||||
;; (use-package fast-scroll
|
||||
;; :ensure nil
|
||||
;; :init (fast-scroll-mode 1))
|
||||
|
||||
(defun swarsel/with-buffer-name-prompt-and-make-subdirs ()
|
||||
(let ((parent-directory (file-name-directory buffer-file-name)))
|
||||
|
|
@ -206,6 +221,7 @@
|
|||
(advice-add 'mu4e--server-filter :around #'suppress-messages)
|
||||
(advice-add 'org-unlogged-message :around #'suppress-messages)
|
||||
(advice-add 'magit-auto-revert-mode--init-kludge :around #'suppress-messages)
|
||||
(advice-add 'push-mark :around #'suppress-messages)
|
||||
|
||||
;; to reenable
|
||||
;; (advice-remove 'timer-event-handler #'suppress-messages)
|
||||
|
|
@ -221,7 +237,7 @@
|
|||
;; (advice-add 'message :around #'who-called-me?)
|
||||
|
||||
;; disable to stop receiving backtrace
|
||||
;; (advice-remove 'message #'who-called-me?)
|
||||
(advice-remove 'message #'who-called-me?)
|
||||
|
||||
(use-package undo-tree
|
||||
;; :init (global-undo-tree-mode)
|
||||
|
|
@ -280,6 +296,8 @@
|
|||
"mc" '((lambda () (interactive) (swarsel/open-calendar)) :which-key "calendar")
|
||||
"mp" '(popper-toggle :which-key "popper")
|
||||
"md" '(dirvish :which-key "dirvish")
|
||||
"o" '(:ignore o :which-key "org")
|
||||
"op" '((lambda () (interactive) (org-present)) :which-key "org-present")
|
||||
;; "c" '(:ignore c :which-key "capture")
|
||||
;; "cj" '((lambda () (interactive) (org-capture nil "jj")) :which-key "journal")
|
||||
;; "cs" '(markdown-download-screenshot :which-key "screenshot")
|
||||
|
|
@ -768,24 +786,26 @@
|
|||
;; (swarsel/org-font-setup)
|
||||
)
|
||||
|
||||
;; ;; Set faces for heading levels
|
||||
;; (with-eval-after-load 'org-faces (dolist (face '((org-level-1 . 1.3)
|
||||
;; (org-level-2 . 1.2)
|
||||
;; (org-level-3 . 1.15)
|
||||
;; (org-level-4 . 1.1)
|
||||
;; (org-level-5 . 1.1)
|
||||
;; (org-level-6 . 1.1)
|
||||
;; (org-level-7 . 1.1)
|
||||
;; (org-level-8 . 1.1)))
|
||||
;; (set-face-attribute (car face) nil :font swarsel-alt-font :weight 'regular :height (cdr face)))
|
||||
;; Set faces for heading levels
|
||||
(with-eval-after-load 'org-faces (dolist (face '((org-level-1 . 1.1)
|
||||
(org-level-2 . 0.9)
|
||||
(org-level-3 . 0.9)
|
||||
(org-level-4 . 0.9)
|
||||
(org-level-5 . 0.9)
|
||||
(org-level-6 . 0.9)
|
||||
(org-level-7 . 0.9)
|
||||
(org-level-8 . 0.9)))
|
||||
(set-face-attribute (car face) nil :font swarsel-alt-font :weight 'medium :height (cdr face)))
|
||||
|
||||
;; ;; Ensure that anything that should be fixed-pitch in Org files appears that way
|
||||
;; (set-face-attribute 'org-block nil :inherit '(fixed-pitch))
|
||||
;; (set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch))
|
||||
;; (set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
|
||||
;; (set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
;; (set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
;; (set-face-attribute 'org-checkbox nil :inherit '(fixed-pitch)))
|
||||
;; Ensure that anything that should be fixed-pitch in Org files appears that way
|
||||
(set-face-attribute 'org-block nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-formula nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch))
|
||||
|
||||
;; Show hidden emphasis markers
|
||||
;; (use-package org-appear
|
||||
|
|
@ -814,14 +834,16 @@
|
|||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
'((emacs-lisp . t)
|
||||
(python . t)))
|
||||
(python . t)
|
||||
(shell . t)
|
||||
))
|
||||
|
||||
(push '("conf-unix" . conf-unix) org-src-lang-modes)
|
||||
|
||||
(require 'org-tempo)
|
||||
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
||||
(add-to-list 'org-structure-template-alist '("py" . "src python :results output"))
|
||||
(add-to-list 'org-structure-template-alist '("nix" . "src nix :tangle"))
|
||||
|
||||
(defun swarsel/org-babel-tangle-config ()
|
||||
|
|
@ -838,19 +860,20 @@
|
|||
|
||||
(add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'swarsel/org-babel-tangle-config)))
|
||||
|
||||
(use-package auctex
|
||||
:ensure nil)
|
||||
(use-package auctex)
|
||||
(setq TeX-auto-save t)
|
||||
(setq TeX-save-query nil)
|
||||
(setq TeX-parse-self t)
|
||||
(setq-default TeX-master nil)
|
||||
(setq-default TeX-master nil)
|
||||
|
||||
(add-hook 'LaTeX-mode-hook 'visual-line-mode)
|
||||
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
|
||||
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
|
||||
(add-hook 'LaTeX-mode-hook 'reftex-mode)
|
||||
|
||||
;; (setq reftex-plug-into-AUCTeX t)
|
||||
(setq LaTeX-electric-left-right-brace t)
|
||||
(setq font-latex-fontify-script nil)
|
||||
(setq TeX-electric-sub-and-superscript t)
|
||||
;; (setq reftex-plug-into-AUCTeX t)
|
||||
|
||||
(use-package org-download
|
||||
:after org
|
||||
|
|
@ -885,6 +908,108 @@
|
|||
("src" "»" "∥")))
|
||||
:hook (org-mode . org-modern-mode))
|
||||
|
||||
(use-package org-present
|
||||
:bind (:map org-present-mode-keymap
|
||||
("q" . org-present-quit)
|
||||
("<left>" . swarsel/org-present-prev)
|
||||
("<up>" . 'ignore)
|
||||
("<down>" . 'ignore)
|
||||
("<right>" . swarsel/org-present-next))
|
||||
:hook ((org-present-mode . swarsel/org-present-start)
|
||||
(org-present-mode-quit . swarsel/org-present-end))
|
||||
)
|
||||
|
||||
|
||||
(use-package hide-mode-line)
|
||||
|
||||
(defun swarsel/org-present-start ()
|
||||
(setq-local face-remapping-alist '((default (:height 1.5) variable-pitch)
|
||||
(header-line (:height 4.0) variable-pitch)
|
||||
(org-document-title (:height 1.75) org-document-title)
|
||||
(org-code (:height 1.55) org-code)
|
||||
(org-verbatim (:height 1.55) org-verbatim)
|
||||
(org-block (:height 1.25) org-block)
|
||||
(org-block-begin-line (:height 0.7) org-block)
|
||||
))
|
||||
(dolist (face '((org-level-1 . 1.1)
|
||||
(org-level-2 . 1.2)
|
||||
(org-level-3 . 1.2)
|
||||
(org-level-4 . 1.2)
|
||||
(org-level-5 . 1.2)
|
||||
(org-level-6 . 1.2)
|
||||
(org-level-7 . 1.2)
|
||||
(org-level-8 . 1.2)))
|
||||
(set-face-attribute (car face) nil :font swarsel-alt-font :weight 'medium :height (cdr face)))
|
||||
|
||||
(setq header-line-format " ")
|
||||
(setq visual-fill-column-width 90)
|
||||
(setq indicate-buffer-boundaries nil)
|
||||
(setq inhibit-message nil)
|
||||
(breadcrumb-mode 0)
|
||||
(org-display-inline-images)
|
||||
(global-hl-line-mode 0)
|
||||
(display-line-numbers-mode 0)
|
||||
(org-modern-mode 0)
|
||||
(evil-insert-state 1)
|
||||
(beginning-of-buffer)
|
||||
(org-present-read-only)
|
||||
;; (org-present-hide-cursor)
|
||||
(swarsel/org-present-slide)
|
||||
)
|
||||
|
||||
(defun swarsel/org-present-end ()
|
||||
(setq-local face-remapping-alist '((default variable-pitch default)))
|
||||
(dolist (face '((org-level-1 . 1.1)
|
||||
(org-level-2 . 0.9)
|
||||
(org-level-3 . 0.9)
|
||||
(org-level-4 . 0.9)
|
||||
(org-level-5 . 0.9)
|
||||
(org-level-6 . 0.9)
|
||||
(org-level-7 . 0.9)
|
||||
(org-level-8 . 0.9)))
|
||||
(set-face-attribute (car face) nil :font swarsel-alt-font :weight 'medium :height (cdr face)))
|
||||
(setq header-line-format nil)
|
||||
(setq visual-fill-column-width 150)
|
||||
(setq indicate-buffer-boundaries t)
|
||||
(setq inhibit-message nil)
|
||||
(breadcrumb-mode 1)
|
||||
(global-hl-line-mode 1)
|
||||
(display-line-numbers-mode 1)
|
||||
(org-remove-inline-images)
|
||||
(org-modern-mode 1)
|
||||
(evil-normal-state 1)
|
||||
;; (org-present-show-cursor)
|
||||
)
|
||||
|
||||
(defun swarsel/org-present-slide ()
|
||||
(org-overview)
|
||||
(org-show-entry)
|
||||
(org-show-children)
|
||||
)
|
||||
|
||||
(defun swarsel/org-present-prev ()
|
||||
(interactive)
|
||||
(org-present-prev)
|
||||
(swarsel/org-present-slide))
|
||||
|
||||
(defun swarsel/org-present-next ()
|
||||
(interactive)
|
||||
(unless (eobp)
|
||||
(org-next-visible-heading 1)
|
||||
(org-fold-show-entry))
|
||||
(when (eobp)
|
||||
(org-present-next)
|
||||
(swarsel/org-present-slide)
|
||||
))
|
||||
|
||||
(defun clojure-leave-clojure-mode-function ()
|
||||
)
|
||||
|
||||
(add-hook 'buffer-list-update-hook #'clojure-leave-clojure-mode-function)
|
||||
(add-hook 'org-present-mode-hook 'swarsel/org-present-start)
|
||||
(add-hook 'org-present-mode-quit-hook 'swarsel/org-present-end)
|
||||
(add-hook 'org-present-after-navigate-functions 'swarsel/org-present-slide)
|
||||
|
||||
(use-package nix-mode
|
||||
:mode "\\.nix\\'")
|
||||
|
||||
|
|
@ -1149,18 +1274,24 @@
|
|||
(use-package rainbow-delimiters
|
||||
:hook (prog-mode . rainbow-delimiters-mode))
|
||||
|
||||
(use-package highlight-parentheses
|
||||
(use-package highlight-parentheses
|
||||
:config
|
||||
(setq highlight-parentheses-colors '("black" "white" "black" "black" "black" "black" "black"))
|
||||
(setq highlight-parentheses-background-colors '("magenta" "blue" "cyan" "green" "yellow" "orange" "red"))
|
||||
(global-highlight-parentheses-mode t))
|
||||
|
||||
(electric-pair-mode 1)
|
||||
(setq electric-pair-preserve-balance nil)
|
||||
;; don't try to be overly smart
|
||||
(setq electric-pair-delete-adjacent-pairs nil)
|
||||
;; don't skip newline when auto-pairing parenthesis
|
||||
(setq electric-pair-skip-whitespace-chars '(9 32))
|
||||
(electric-pair-mode 1)
|
||||
(setq electric-pair-preserve-balance nil)
|
||||
;; don't try to be overly smart
|
||||
(setq electric-pair-delete-adjacent-pairs nil)
|
||||
;; don't skip newline when auto-pairing parenthesis
|
||||
(setq electric-pair-skip-whitespace-chars '(9 32))
|
||||
|
||||
;; in org-mode buffers, do not pair < and > in order not to interfere with org-tempo
|
||||
(add-hook 'org-mode-hook (lambda ()
|
||||
(setq-local electric-pair-inhibit-predicate
|
||||
`(lambda (c)
|
||||
(if (char-equal c ?<) t (,electric-pair-inhibit-predicate c))))))
|
||||
|
||||
;; (use-package company
|
||||
;; :after lsp-mode
|
||||
|
|
@ -1405,58 +1536,58 @@
|
|||
|
||||
;; (use-package yasnippet-snippets)
|
||||
|
||||
(setq wtf/latex-greek-prefix "'")
|
||||
(setq wtf/latex-math-prefix "`")
|
||||
;; (setq wtf/latex-greek-prefix "'")
|
||||
;; (setq wtf/latex-math-prefix "`")
|
||||
(setq wtf/latex-mathbb-prefix "''")
|
||||
(setq swarsel/latex-mathcal-prefix "``")
|
||||
|
||||
(use-package yasnippet
|
||||
:config
|
||||
(setq swtf/greek-alphabet
|
||||
'(("a" . "\\alpha")
|
||||
("b" . "\\beta" )
|
||||
("g" . "\\gamma")
|
||||
("d" . "\\delta")
|
||||
("e" . "\\epsilon")
|
||||
("z" . "\\zeta")
|
||||
("h" . "\\eta")
|
||||
("th" . "\\theta")
|
||||
("i" . "\\iota")
|
||||
("k" . "\\kappa")
|
||||
("l" . "\\lambda")
|
||||
("m" . "\\mu")
|
||||
("n" . "\\nu")
|
||||
("x" . "\\xi")
|
||||
("p" . "\\pi")
|
||||
("r" . "\\rho")
|
||||
("s" . "\\sigma")
|
||||
("t" . "\\tau")
|
||||
("u" . "\\upsilon")
|
||||
("f" . "\\phi")
|
||||
("c" . "\\chi")
|
||||
("v" . "\\psi")
|
||||
("o" . "\\omega")))
|
||||
;; (setq swtf/greek-alphabet
|
||||
;; '(("a" . "\\alpha")
|
||||
;; ("b" . "\\beta" )
|
||||
;; ("g" . "\\gamma")
|
||||
;; ("d" . "\\delta")
|
||||
;; ("e" . "\\epsilon")
|
||||
;; ("z" . "\\zeta")
|
||||
;; ("h" . "\\eta")
|
||||
;; ("th" . "\\theta")
|
||||
;; ("i" . "\\iota")
|
||||
;; ("k" . "\\kappa")
|
||||
;; ("l" . "\\lambda")
|
||||
;; ("m" . "\\mu")
|
||||
;; ("n" . "\\nu")
|
||||
;; ("x" . "\\xi")
|
||||
;; ("p" . "\\pi")
|
||||
;; ("r" . "\\rho")
|
||||
;; ("s" . "\\sigma")
|
||||
;; ("t" . "\\tau")
|
||||
;; ("u" . "\\upsilon")
|
||||
;; ("f" . "\\phi")
|
||||
;; ("c" . "\\chi")
|
||||
;; ("v" . "\\psi")
|
||||
;; ("o" . "\\omega")))
|
||||
|
||||
|
||||
;; The same for capitalized letters
|
||||
(dolist (elem swtf/greek-alphabet)
|
||||
(let ((key (car elem))
|
||||
(value (cdr elem)))
|
||||
(when (string-equal key (downcase key))
|
||||
(add-to-list 'swtf/greek-alphabet
|
||||
(cons
|
||||
(capitalize (car elem))
|
||||
(concat
|
||||
(substring value 0 1)
|
||||
(capitalize (substring value 1 2))
|
||||
(substring value 2)))))))
|
||||
;; (dolist (elem swtf/greek-alphabet)
|
||||
;; (let ((key (car elem))
|
||||
;; (value (cdr elem)))
|
||||
;; (when (string-equal key (downcase key))
|
||||
;; (add-to-list 'swtf/greek-alphabet
|
||||
;; (cons
|
||||
;; (capitalize (car elem))
|
||||
;; (concat
|
||||
;; (substring value 0 1)
|
||||
;; (capitalize (substring value 1 2))
|
||||
;; (substring value 2)))))))
|
||||
|
||||
(yas-define-snippets
|
||||
'latex-mode
|
||||
(mapcar
|
||||
(lambda (elem)
|
||||
(list (concat wtf/latex-greek-prefix (car elem)) (cdr elem) (concat "Greek letter " (car elem))))
|
||||
swtf/greek-alphabet))
|
||||
;; (yas-define-snippets
|
||||
;; 'latex-mode
|
||||
;; (mapcar
|
||||
;; (lambda (elem)
|
||||
;; (list (concat wtf/latex-greek-prefix (car elem)) (cdr elem) (concat "Greek letter " (car elem))))
|
||||
;; swtf/greek-alphabet))
|
||||
|
||||
(setq wtf/english-alphabet
|
||||
'("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))
|
||||
|
|
@ -1602,9 +1733,13 @@
|
|||
:ensure nil
|
||||
:hook
|
||||
((python-mode
|
||||
python-ts-mode
|
||||
c-mode
|
||||
c-ts-mode
|
||||
c++-mode
|
||||
c++-ts-mode
|
||||
tex-mode
|
||||
LaTeX-mode
|
||||
) . (lambda () (progn
|
||||
(eglot-ensure)
|
||||
(add-hook 'before-save-hook 'eglot-format nil 'local))))
|
||||
|
|
@ -1856,11 +1991,47 @@
|
|||
(:maildir "/Drafts" :key ?d)
|
||||
(:maildir "/All Mail" :key ?a))))
|
||||
|
||||
(setq user-mail-address "leon.schwarzaeugl@gmail.com"
|
||||
(setq user-mail-address "leon@swarsel.win"
|
||||
user-full-name "Leon Schwarzäugl")
|
||||
|
||||
(setq mu4e-hide-index-messages t)
|
||||
|
||||
(setq mu4e-user-mail-address-list '(leon.schwarzaeugl@gmail.com leon@swarsel.win nautilus.dw@gmail.com mrswarsel@gmail.com))
|
||||
|
||||
(defun swarsel/mu4e-switch-account ()
|
||||
(interactive)
|
||||
(let ((account (completing-read "Select account: " mu4e-user-mail-address-list)))
|
||||
(setq user-mail-address account)))
|
||||
|
||||
(defun swarsel/mu4e-rfs--matching-address ()
|
||||
(cl-loop for to-data in (mu4e-message-field mu4e-compose-parent-message :to)
|
||||
for to-email = (pcase to-data
|
||||
(`(_ . email) email)
|
||||
(x (mu4e-contact-email x)))
|
||||
for to-name = (pcase to-data
|
||||
(`(_ . name) name)
|
||||
(x (mu4e-contact-name x)))
|
||||
when (mu4e-user-mail-address-p to-email)
|
||||
return (list to-name to-email)))
|
||||
|
||||
(defun swarsel/mu4e-send-from-correct-address ()
|
||||
(when mu4e-compose-parent-message
|
||||
(save-excursion
|
||||
(when-let ((dest (swarsel/mu4e-rfs--matching-address)))
|
||||
(cl-destructuring-bind (from-user from-addr) dest
|
||||
(setq user-mail-address from-addr)
|
||||
(message-position-on-field "From")
|
||||
(message-beginning-of-line)
|
||||
(delete-region (point) (line-end-position))
|
||||
(insert (format "%s <%s>" (or from-user user-full-name) from-addr)))))))
|
||||
|
||||
(defun swarsel/mu4e-restore-default ()
|
||||
(setq user-mail-address "leon@swarsel.win"
|
||||
user-full-name "Leon Schwarzäugl"))
|
||||
|
||||
(add-hook 'mu4e-compose-mode-hook #'swarsel/mu4e-send-from-correct-address)
|
||||
(add-hook 'mu4e-compose-post-hook #'swarsel/mu4e-restore-default)
|
||||
|
||||
(use-package mu4e-alert)
|
||||
(mu4e-alert-set-default-style 'libnotify)
|
||||
(add-hook 'after-init-hook #'mu4e-alert-enable-notifications)
|
||||
|
|
|
|||
0
scripts/checkelement.sh
Normal file → Executable file
0
scripts/checkelement.sh
Normal file → Executable file
11
scripts/toggle_opacity.sh
Executable file
11
scripts/toggle_opacity.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
swaymsg opacity plus 0.01
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
# opacity was not 1, we toggle off
|
||||
swaymsg opacity 1
|
||||
else
|
||||
# opacity was 1, we toggle on
|
||||
swaymsg opacity 0.95
|
||||
fi
|
||||
|
|
@ -3,6 +3,7 @@ nautilus: ENC[AES256_GCM,data:KTBIwO/m/O3RfYBf0kTdgM83mQ==,iv:fCVfS3eYE0F9Jhju+u
|
|||
leon: ENC[AES256_GCM,data:5OAaO/8XiOJEUicx+otLoUUG9w==,iv:cxoNYOQCFIjX53ZgaL/Pu4ZDeL2EByClCIWG2JcRHMw=,tag:954bA4bjcLZsv2hFbtykSQ==,type:str]
|
||||
caldav: ENC[AES256_GCM,data:CfWibtX+/BJcpXJNlpO8dpYJsdORzQZX5pEXX82CB2z+ZpIhIF66+x1GsXFFgP+MnQOS6O7hSUgckxtJBh7Bmy9jLmcdf3VMwnaAcg==,iv:bcahyj8MXSxvFOveFnXbEWHG03yHURb2zWelT5MiDo0=,tag:EguaYYuYNZUQlrKE8zjjrQ==,type:str]
|
||||
restic: ENC[AES256_GCM,data:YZv3dsx2U1XHfv4=,iv:82WoS3n6nlZpPLrwKFRiYwVSvB4R3AfQQDSR6vjiyno=,tag:Y88Lz2i43UEjUduUmfz/OQ==,type:str]
|
||||
swarselmail: ENC[AES256_GCM,data:QqOGUsip/nmbwFcCX5EhM9u3hCNN4onZpsQAg6qS6lw=,iv:LvQEHkhHJ7+7r4iV1VhxxPW23hJ+h6RMcNIX3NTlB0Y=,tag:/+iH0P/Dmc5m6DLUeUikGw==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
|
|
@ -45,8 +46,8 @@ sops:
|
|||
Q0NTRzR0cFVPT2phTlUyL0phU25TdncKD/4ZFw/oR2FEm0U8hUkF6ts5AkxfdXrS
|
||||
2KdJTSXqy+UmbMHSoapcMQoeaOkfpIpmHZZzwhHzOBd3YPtBYMc91Q==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-02-11T19:37:40Z"
|
||||
mac: ENC[AES256_GCM,data:uPzSGAx+X5TAlctEZxao8GskyI/IcMP3zGeVPOLLcK9aw5/lsv2bYd1HUDduoWwQevnuV49//aFSYGIMIfr2bXIrrPkStsv+MQyyUDRdX2S8dK8vsQstH6cmq/xMOtIJekfvBH/ED+46oW7yCwkqYM6NWgrqBWocWAbLTV4MSzQ=,iv:xNN0dpID4eafpyFWN3flIt6b0PKWcxeXu01sxrANlRU=,tag:Qv49O+BkPiSs/Tk8+9LwBw==,type:str]
|
||||
lastmodified: "2024-05-29T13:25:38Z"
|
||||
mac: ENC[AES256_GCM,data:4zcLmHkzyg4UEHsDYNEKQ6gmgHHBquGWd2hMVYHg/1k2XPd24mNKOPSj9yLxJKkXKpKRRLi6M0HyxbSeONnP+YiNEvmjt9RM8DqOz+ykG7IPmnVUaLtWysS1aM46fUFBTQFhneZ3flypRbByHtaA7k+SIp86249A3ooffL0HWyY=,iv:SC7dfSEhesTCI2M8PRKUYCIWynlu1l2oW4wgCvtvnuw=,tag:u40eCLDX14/aJRJRSeb1GQ==,type:str]
|
||||
pgp:
|
||||
- created_at: "2024-02-07T21:17:55Z"
|
||||
enc: |-
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue