Changes
Some checks failed
/ test (push) Failing after 13s

This commit is contained in:
Andrea Ciceri 2024-10-17 23:33:44 +02:00
parent 6cc0c0f094
commit 0bc17f6874
Signed by: aciceri
SSH key fingerprint: SHA256:/AagBweyV4Hlfg9u092n8hbHwD5fcB6A3qhDiDA65Rg

162
init.el
View file

@ -57,6 +57,7 @@
(backup-by-copying t) (backup-by-copying t)
(focus-follows-mouse t) (focus-follows-mouse t)
(mouse-autoselect-window t) (mouse-autoselect-window t)
(treesit-font-lock-level 4)
:config :config
(set-face-background 'vertical-border (face-background 'default)) (set-face-background 'vertical-border (face-background 'default))
(set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?┃)) (set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?┃))
@ -80,7 +81,7 @@
(interactive) (interactive)
(let* ((operation (completing-read "nixos-rebuild " '("switch" "boot" "test" "dry-activate"))) (let* ((operation (completing-read "nixos-rebuild " '("switch" "boot" "test" "dry-activate")))
(buffer-name (format "nixos-rebuild-%s" operation))) (buffer-name (format "nixos-rebuild-%s" operation)))
(async-shell-command (format "sudo nixos-rebuild --flake fleet %s --override-input ccrEmacs /home/ccr/.config/emacs -L" operation) buffer-name))) (async-shell-command (format "sudo nixos-rebuild --flake fleet %s -L" operation) buffer-name)))
) )
(use-package doc-view (use-package doc-view
@ -226,8 +227,8 @@
'("." . meow-bounds-of-thing) '("." . meow-bounds-of-thing)
'("[" . meow-beginning-of-thing) '("[" . meow-beginning-of-thing)
'("]" . meow-end-of-thing) '("]" . meow-end-of-thing)
'(">" . meow-indent) '(">" . indent-rigidly-right)
'("<" . meow-back-to-indentation) '("<" . indent-rigidly-left)
'("a" . meow-append) '("a" . meow-append)
'("A" . meow-open-below) '("A" . meow-open-below)
'("b" . meow-back-word) '("b" . meow-back-word)
@ -343,20 +344,20 @@
(("DEL" . vertico-directory-delete-char) (("DEL" . vertico-directory-delete-char)
("C-DEL" . vertico-directory-delete-word)))) ("C-DEL" . vertico-directory-delete-word))))
(use-package vertico-posframe ;; (use-package vertico-posframe
:after vertico ;; :after vertico
:config ;; :config
(vertico-posframe-mode +1) ;; (vertico-posframe-mode +1)
:custom ;; :custom
(vertico-multiform-commands ;; (vertico-multiform-commands
'((t ;; '((t
posframe ;; posframe
(vertico-posframe-poshandler . posframe-poshandler-frame-center) ;; (vertico-posframe-poshandler . posframe-poshandler-frame-center)
(vertico-posframe-fallback-mode . vertico-buffer-mode)))) ;; (vertico-posframe-fallback-mode . vertico-buffer-mode))))
(vertico-posframe-min-height 1) ;; (vertico-posframe-min-height 1)
;; (vertico-posframe-min-width 80) ;; ;; (vertico-posframe-min-width 80)
(vertico-posframe-parameters '((alpha-background . 80))) ;; (vertico-posframe-parameters '((alpha-background . 80)))
) ;; )
(use-package marginalia (use-package marginalia
:init :init
@ -455,7 +456,6 @@
:hook (agenix-pre-mode . envrc-mode)) :hook (agenix-pre-mode . envrc-mode))
(use-package nix-ts-mode (use-package nix-ts-mode
:custom ((nix-ts-mode--embed-bash nil))
:hook ( :hook (
(nix-ts-mode . (lambda () (nix-ts-mode . (lambda ()
(require 'eglot) (require 'eglot)
@ -463,7 +463,21 @@
'(nix-ts-mode . ("nixd"))) '(nix-ts-mode . ("nixd")))
(eglot-ensure))) (eglot-ensure)))
(nix-ts-mode . electric-pair-mode) (nix-ts-mode . electric-pair-mode)
(nix-ts-mode . (lambda () (setq indent-bars-spacing-override 2) (indent-bars-mode))) (nix-ts-mode . (lambda () (setq-local indent-bars-spacing-override 2) (indent-bars-mode)))
(nix-ts-mode . (lambda ()
(setq-local
treesit-font-lock-settings
(append treesit-font-lock-settings
(treesit-font-lock-rules
:language 'nix
:feature 'function
:override t
`((formal) @font-lock-type-face)
:language 'nix
:feature 'function
`((attrpath) @font-lock-function-name-face)
)))))
) )
:mode "\\.nix\\'" :mode "\\.nix\\'"
) )
@ -486,12 +500,11 @@
:mode "\\.ts\\'") :mode "\\.ts\\'")
(use-package haskell-ts-mode (use-package haskell-ts-mode
:hook ((haskell--ts-mode . eglot-ensure) :hook ((haskell--ts-mode . eglot-ensure))
:mode "\\.hs\\'") :mode "\\.hs\\'"
:config
(use-package typst-ts-mode (add-to-list 'eglot-server-programs
:hook ((typst--ts-mode . eglot-ensure) '(haskell-ts-mode . ("haskell-language-server-wrapper" "--lsp"))))
:mode "\\.typ\\'")
(use-package purescript-mode (use-package purescript-mode
:custom ((project-vc-extra-root-markers '("spago.dhall"))) :custom ((project-vc-extra-root-markers '("spago.dhall")))
@ -684,7 +697,8 @@
(org-special-ctrl-a/e t) (org-special-ctrl-a/e t)
(org-insert-heading-respect-content t) (org-insert-heading-respect-content t)
(org-pretty-entities t) (org-pretty-entities t)
(org-ellipsis "")) (org-ellipsis "")
)
:bind (("C-c o l" . org-store-link) :bind (("C-c o l" . org-store-link)
("C-c o a" . org-agenda) ("C-c o a" . org-agenda)
("C-c o c" . org-capture) ("C-c o c" . org-capture)
@ -697,10 +711,6 @@ This is meant to be an helper to be called from the window manager."
(org-capture nil key) (org-capture nil key)
(add-hook 'kill-buffer-hook 'delete-frame nil 't) ;; destroy frame on exit (add-hook 'kill-buffer-hook 'delete-frame nil 't) ;; destroy frame on exit
(delete-other-windows)) (delete-other-windows))
;; FIXME the following doesn't work when using the daemon, it should be executed only
;; one time after the first frame is created
(set-face-font 'variable-pitch "Dejavu Serif-14")
(set-face-font 'fixed-pitch "Iosevka Comfy-14")
(dolist (face '(org-block-begin-line (dolist (face '(org-block-begin-line
org-block-end-line org-block-end-line
@ -727,9 +737,56 @@ This is meant to be an helper to be called from the window manager."
(use-package org-modern (use-package org-modern
:after org :after org
:init (global-org-modern-mode)) :init
(global-org-modern-mode)
;; FIXME the following doesn't work when using the daemon, it should be executed only
;; one time after the first frame is created
:hook (server-after-make-frame . (lambda ()
(set-face-font 'variable-pitch "Dejavu Serif-14")
(set-face-font 'fixed-pitch "Iosevka Comfy-14")
(set-face-font 'org-table "Iosevka Comfy-14")
(set-face-font 'org-meta-line "Iosevka Comfy-14")
(set-face-font 'org-drawer "Iosevka Comfy-14")
(set-face-font 'org-special-keyword "Iosevka Comfy-14")
(set-face-font 'org-property-value "Iosevka Comfy-14")
(set-face-font 'org-block "Iosevka Comfy-14")
(set-face-font 'org-modern-tag "Iosevka Comfy-14")
(set-face-font 'org-modern-date-active "Iosevka Comfy-14")
(set-face-font 'org-modern-date-inactive "Iosevka Comfy-14")))
)
(use-package org-roam) (use-package org-roam
:custom
(org-roam-v2-ack t)
(org-roam-directory (file-truename "~/org"))
(org-roam-complete-everywhere 't)
(org-roam-dailies-capture-templates
'(("d" "default" entry "* TODO %?"
:target
(file+head "%<%Y-%m-%d>.org" "#+TITLE: %<%Y-%m-%d %A>\n"))))
:config
(require 'org-roam-dailies)
(org-roam-db-autosync-mode)
;; The following functions name are relevant because org-roam-ql columns in queries use their suffix
(defun org-roam-node-spent (node)
"Return the hours spent as number"
(string-to-number (cdr (assoc "SPENT" (org-roam-node-properties node)))))
(defun org-roam-node-date (node)
"Return the org datestring when a node was created (obtained from the filename)"
(format "<%s>" (file-name-sans-extension (file-name-nondirectory (org-roam-node-file node)))))
(defun ccr/org-roam-spent-hours (client)
"Return the total spent hours on something (usually a client)"
(apply #'+(mapcar #'org-roam-node-spent (org-roam-ql-nodes `(tags ,client "billable")))))
)
(use-package org-roam-ql
:after org-roam
:bind ((:map org-roam-mode-map
("v" . org-roam-ql-buffer-dispatch)
:map minibuffer-mode-map
("C-c n i" . org-roam-ql-insert-node-title))))
(use-package consult-org-roam (use-package consult-org-roam
:delight :delight
@ -739,9 +796,10 @@ This is meant to be an helper to be called from the window manager."
;; Activate the minor mode ;; Activate the minor mode
(consult-org-roam-mode 1) (consult-org-roam-mode 1)
:custom :custom
(consult-org-roam-grep-func #'consult-ripgrep) (consutl-org-roam-grep-func #'consult-ripgrep)
(consult-org-roam-buffer-narrow-key ?r) (consult-org-roam-buffer-narrow-key ?r)
(consult-org-roam-buffer-after-buffers t) (consult-org-roam-buffer-after-buffers t)
(setq org-roam-database-connector 'sqlite-builtin)
:config :config
(consult-customize (consult-customize
consult-org-roam-forward-links consult-org-roam-forward-links
@ -750,7 +808,7 @@ This is meant to be an helper to be called from the window manager."
("C-c n f" . consult-org-roam-file-find) ("C-c n f" . consult-org-roam-file-find)
("C-c n b" . consult-org-roam-backlinks) ("C-c n b" . consult-org-roam-backlinks)
("C-c n l" . consult-org-roam-forward-links) ("C-c n l" . consult-org-roam-forward-links)
("C-c n r" . consult-org-roam-search)) ("C-c n s" . consult-org-roam-search))
(use-package gptel (use-package gptel
:custom :custom
@ -794,12 +852,12 @@ This is meant to be an helper to be called from the window manager."
) ;; destroy frame on exit ) ;; destroy frame on exit
) )
(use-package copilot ; (use-package copilot
:custom ; :custom
(copilot-max-char -1) ; (copilot-max-char -1)
(copilot-indent-offset-warning-disable 't) ; (copilot-indent-offset-warning-disable 't)
:hook (prog-mode org-mode) ; :hook (prog-mode org-mode)
:bind (("C-<tab>" . copilot-accept-completion))) ; :bind (("C-<tab>" . copilot-accept-completion)))
(use-package pass (use-package pass
:config :config
@ -831,8 +889,8 @@ This is meant to be an helper to be called from the window manager."
(send-mail-function 'smtpmail-send-it) (send-mail-function 'smtpmail-send-it)
(user-mail-address "andrea.ciceri@autistici.org") (user-mail-address "andrea.ciceri@autistici.org")
(smtpmail-smtp-server "mail.autistici.org") (smtpmail-smtp-server "mail.autistici.org")
(smtpmail-stream-type 'starttls) (smtpmail-stream-type 'ssl)
(smtpmail-smtp-service 587) (smtpmail-smtp-service 465)
;; also the following line is needeed in ~/.authinfo.gpg ;; also the following line is needeed in ~/.authinfo.gpg
;; machine mail.autistici.org login andrea.ciceri@autistici.org password <password> ;; machine mail.autistici.org login andrea.ciceri@autistici.org password <password>
) )
@ -840,18 +898,14 @@ This is meant to be an helper to be called from the window manager."
(use-package notmuch (use-package notmuch
:custom :custom
(notmuch-show-logo nil) (notmuch-show-logo nil)
(send-mail-function 'sendmail-send-it)) (send-mail-function 'sendmail-send-it)
(notmuch-archive-tags '("-new"))
(use-package alert (notmuch-saved-searches
:config '((:name "Inbox" :query "tag:new" :key "i")
(alert "Emacs started") (:name "Sent" :query "tag:sent" :key "s")
:custom (:name "Draft" :query "tag:draft" :key "s")
(alert-default-style 'notifications)) (:name "GitHub" :query "tag:github" :key "g")
(:name "Trash" :query "tag:trash" :key "t"))))
(use-package notmuch-notify
:hook (notmuch-hello-refresh . notmuch-notify-hello-refresh-status-message)
:config
(notmuch-notify-set-refresh-timer))
(provide 'init) (provide 'init)
;;; init.el ends here ;;; init.el ends here