summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcashmere <cashmere@autistici.org>2026-06-19 20:05:40 +0200
committercashmere <cashmere@autistici.org>2026-06-19 20:05:40 +0200
commitcdac660a3074d4ff9deadfa0dd3c442132fb0769 (patch)
tree16ad715b1c4a07c8b8ac63d1d02d1bb320ce900d
parentd22d0d53b18bd9d349f477eb0ab5fad192af1a84 (diff)
downloademacs-cdac660a3074d4ff9deadfa0dd3c442132fb0769.tar.gz
synchronise current configuration
-rw-r--r--config.org60
-rw-r--r--themes/tinty-theme.el (renamed from themes/noctalia-theme.el)78
2 files changed, 82 insertions, 56 deletions
diff --git a/config.org b/config.org
index 7eba6c3..2ae460b 100644
--- a/config.org
+++ b/config.org
@@ -1157,7 +1157,6 @@ terminal backend.
org-special-ctrl-a/e t
org-insert-heading-respect-content t)
- (add-hook 'org-mode-hook 'variable-pitch-mode)
;; (add-hook 'org-mode-hook 'org-indent-mode)
(add-hook 'org-mode-hook 'visual-line-mode)
(add-hook 'org-mode-hook (lambda () (electric-indent-local-mode -1)))
@@ -2812,6 +2811,28 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi
(put 'eglot-workspace-configuration 'safe-local-variable #'listp)
#+end_src
+** c3-ts-mode
+
+Not on MELPA, so installed straight from GitHub. The tree-sitter grammar is built on first load via =treesit-install-language-grammar= (needs =cc= / =gcc= on PATH), and eglot drives the =c3-lsp= server. On NixOS install =c3c=, =c3-lsp= and =gcc=.
+
+#+begin_src emacs-lisp
+(use-package c3-ts-mode
+ :ensure (:host github :repo "c3lang/c3-ts-mode")
+ :mode (("\\.c3\\'" . c3-ts-mode)
+ ("\\.c3i\\'" . c3-ts-mode)
+ ("\\.c3t\\'" . c3-ts-mode))
+ :hook (c3-ts-mode . eglot-ensure)
+ :init
+ (add-to-list 'treesit-language-source-alist
+ '(c3 "https://github.com/c3lang/tree-sitter-c3"))
+ :config
+ (unless (treesit-language-available-p 'c3)
+ (treesit-install-language-grammar 'c3))
+ (with-eval-after-load 'eglot
+ (add-to-list 'eglot-server-programs
+ '(c3-ts-mode . ("c3-lsp")))))
+#+end_src
+
** python-ts-mode
Because I have to and not want to.
@@ -3146,7 +3167,7 @@ BODY is the xonsh script. PARAMS may include :dir and :cmdline."
#+begin_src emacs-lisp
(use-package olivetti
:ensure t
- :hook (org-mode . olivetti-mode)
+ ;; :hook (org-mode . olivetti-mode) ; no auto-center in org buffers
:custom
(olivetti-style nil) ; Use window margins (fringes disabled in early-init)
(olivetti-margin-width 10) ; No side margins
@@ -3168,6 +3189,11 @@ BODY is the xonsh script. PARAMS may include :dir and :cmdline."
(dolist (win (get-buffer-window-list nil nil 'visible))
(when (buffer-local-value 'olivetti-mode (window-buffer win))
(olivetti-set-window win))))
+ (defun my/olivetti-hide-continuation-glyph ()
+ (let ((dt (or buffer-display-table (make-display-table))))
+ (set-display-table-slot dt 'wrap (if olivetti-mode ?\s nil))
+ (setq buffer-display-table dt)))
+ (add-hook 'olivetti-mode-hook #'my/olivetti-hide-continuation-glyph)
(with-eval-after-load 'diff-hl-margin
(advice-add 'diff-hl-margin-local-mode :after #'my/olivetti-rebalance)
(advice-add 'diff-hl-margin-ensure-visible :after #'my/olivetti-rebalance)))
@@ -3294,7 +3320,11 @@ so the working-tree diff stays visible until the user explicitly stages."
:hook
(prog-mode . indent-guide-mode) ;; Activate indent-guide in programming modes.
:config
- (setq indent-guide-char "│")) ;; Set the character used for the indent guide.
+ (setq indent-guide-char "│") ;; Set the character used for the indent guide.
+ (define-advice indent-guide-show (:around (orig) my/guard-stale-window)
+ (when (and (eq (window-buffer) (current-buffer))
+ (<= (window-start) (point-max)))
+ (funcall orig))))
#+end_src
* keybindings
@@ -3698,22 +3728,17 @@ Runs per-frame so a TTY-only daemon never touches fonts while GUI frames
created later still get them."
(when (display-graphic-p frame)
(set-face-attribute 'default frame
- :family "MapleMono NF"
- :height 180
+ :family "IosevkaTerm NF"
+ :height 200
:font (font-spec
- :family "MapleMono NF"
- :features '(cv04 ss05 zero)))
- (set-face-attribute 'fixed-pitch frame :family "MapleMono NF" :weight 'regular)
- (set-face-attribute 'variable-pitch frame :family "MapleMono NF" :weight 'regular :height 1.1)))
+ :family "IosevkaTerm NF"
+ ;; :features '(cv04 ss05 zero)
+ ))
+ (set-face-attribute 'fixed-pitch frame :family "IosevkaTerm NF" :weight 'regular)
+ (set-face-attribute 'variable-pitch frame :family "IosevkaTerm NF" :weight 'regular :height 1.1)))
(add-hook 'server-after-make-frame-hook #'cashmere/set-fonts)
(cashmere/set-fonts)
-
-(use-package mixed-pitch
- :ensure t
- :defer t
- :hook ((org-mode . mixed-pitch-mode)
- (LaTeX-mode . mixed-pitch-mode)))
#+end_src
* essentials
@@ -3733,7 +3758,7 @@ created later still get them."
#+begin_src emacs-lisp
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/")
-(load-theme 'noctalia t)
+(load-theme 'tinty t)
#+end_src
* dirvish
@@ -4315,7 +4340,8 @@ activates automatically. Edit, then `C-c C-c' commits, `C-c C-k' aborts."
:config
;; (setq golden-ratio-auto-scale t)
;; (golden-ratio-mode 1)
-)
+ (setq golden-ratio-exclude-buffer-names '(" *which-key*"))
+ (setq golden-ratio-exclude-buffer-regexp '("\\`\\*eldoc")))
#+end_src
* pdf-tools
diff --git a/themes/noctalia-theme.el b/themes/tinty-theme.el
index 85b3523..8888e01 100644
--- a/themes/noctalia-theme.el
+++ b/themes/tinty-theme.el
@@ -1,4 +1,4 @@
-;;; noctalia-theme.el --- Noctalia theme for Emacs -*- lexical-binding: t -*-
+;;; tinty-theme.el --- Noctalia theme for Emacs -*- lexical-binding: t -*-
;; Copyright (C) 2025
@@ -16,61 +16,61 @@
;;; Code:
-(deftheme noctalia "Noctalia theme with proper color contrast.")
+(deftheme tinty "Noctalia theme with proper color contrast.")
(let* (;; Core surface colors
- (bg "#eef1f5")
- (fg "#192330")
- (surface "#eef1f5")
- (on-surface "#192330")
- (on-surface-variant "#29394f")
- (surface-variant "#d5dce4")
- (surface-container "#d5dce4")
- (surface-container-low "#e1e6ec")
- (surface-container-lowest "#e9ecf1")
- (surface-container-high "#c9d2dc")
- (surface-container-highest "#bcc7d4")
+ (bg "#161616")
+ (fg "#f2f4f8")
+ (surface "#161616")
+ (on-surface "#f2f4f8")
+ (on-surface-variant "#dde1e6")
+ (surface-variant "#262626")
+ (surface-container "#262626")
+ (surface-container-low "#262626")
+ (surface-container-lowest "#161616")
+ (surface-container-high "#78a9ff")
+ (surface-container-highest "#78a9ff")
;; Accent colors (always readable on surface)
- (primary "#4a78b0")
- (secondary "#5a8f70")
- (tertiary "#7654b8")
- (err "#b33a58")
+ (primary "#33b1ff")
+ (secondary "#42be65")
+ (tertiary "#be95ff")
+ (err "#ee5396")
;; Container colors (for BACKGROUNDS only, never as foreground text)
- (primary-container "#cad5e2")
- (secondary-container "#bfddcb")
- (tertiary-container "#d5cde4")
- (err-container "#dec1c8")
+ (primary-container "#78a9ff")
+ (secondary-container "#78a9ff")
+ (tertiary-container "#78a9ff")
+ (err-container "#78a9ff")
;; On-color text (for text ON accent backgrounds)
- (on-primary "#eef1f5")
- (on-secondary "#eef1f5")
- (on-tertiary "#eef1f5")
- (on-err "#eef1f5")
+ (on-primary "#161616")
+ (on-secondary "#161616")
+ (on-tertiary "#161616")
+ (on-err "#161616")
;; On-container text (for text on container backgrounds)
- (on-primary-container "#172536")
- (on-secondary-container "#1e2f25")
- (on-tertiary-container "#211636")
- (on-err-container "#3a131c")
+ (on-primary-container "#f2f4f8")
+ (on-secondary-container "#f2f4f8")
+ (on-tertiary-container "#f2f4f8")
+ (on-err-container "#f2f4f8")
;; Outline colors
- (outline-color "#71839b")
- (outline-variant "#9eaabb")
+ (outline-color "#525252")
+ (outline-variant "#525252")
;; Shadow
- (shadow "#d5dce4")
+ (shadow "#000000")
;; Auto-lightness variants: lighten in dark mode, darken in light mode
;; Used for heading levels 5-7, rainbow delimiters 5-7, terminal variants
- (primary-variant "#7ea0c9")
- (secondary-variant "#84b297")
- (tertiary-variant "#533887")
- (err-variant "#cf6b83"))
+ (primary-variant "#33b1ff")
+ (secondary-variant "#42be65")
+ (tertiary-variant "#be95ff")
+ (err-variant "#ee5396"))
(custom-theme-set-faces
- 'noctalia
+ 'tinty
;; === Basic faces ===
`(default ((t (:background ,bg :foreground ,fg))))
@@ -1238,5 +1238,5 @@
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
-(provide-theme 'noctalia)
-;;; noctalia-theme.el ends here
+(provide-theme 'tinty)
+;;; tinty-theme.el ends here