diff --git a/customize.el b/customize.el index 0b0fd78..a394716 100644 --- a/customize.el +++ b/customize.el @@ -8,10 +8,10 @@ ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(custom-safe-themes - '("7f1d414afda803f3244c6fb4c2c64bea44dac040ed3731ec9d75275b9e831fe5" default)) + '("7f1d414afda803f3244c6fb4c2c64bea44dac040ed3731ec9d75275b9e831fe5" + default)) '(magit-todos-insert-after '(bottom) nil nil "Changed by setter of obsolete option `magit-todos-insert-at'") - '(package-selected-packages - '(flymake-shellcheck nix-mode avy sqlite3 dmacro emms package-lint blamer howm tiny tramp dictcc beacon which-key goto-last-change browse-kill-ring fringe-current-line swiper smex undo-tree fic-mode cmake-mode yaml-mode windresize web-mode use-package tablist solarized-theme smartparens rust-mode projectile persistent-scratch org-bullets markdown-mode magit iedit ibuffer-vc ibuffer-tramp hydra htmlize highlight-indentation go-mode eyebrowse elmacro dumb-jump dired-ranger dired-k dired-filter default-text-scale change-inner buffer-move)) + '(package-selected-packages nil) '(safe-local-variable-values '((ruby-indent-level 4))) '(warning-suppress-types '((comp)))) (custom-set-faces diff --git a/init.el b/init.el index 1c4a887..4222399 100644 --- a/init.el +++ b/init.el @@ -133,6 +133,8 @@ (require 'init-org-present) (require 'init-outline) (require 'init-markdown) +(require 'init-elvish) +(require 'init-typst) (require 'init-editorconfig) (require 'init-flymake) diff --git a/lisp/init-c.el b/lisp/init-c.el index 5be6015..9b9d452 100644 --- a/lisp/init-c.el +++ b/lisp/init-c.el @@ -1,20 +1,32 @@ ;; *** C -(use-package c-mode - :ensure nil ;; installed in site-lisp - :defer nil +;; doesn't work in emacs 30 anymore +(when nil (use-package c-mode + :ensure nil ;; installed in site-lisp + :defer nil - :init - (when (fboundp 'lsp-deferred) - (defun lsp-c-install-save-hooks () - (add-hook 'before-save-hook #'lsp-format-buffer t t) - (add-hook 'before-save-hook #'lsp-organize-imports t t)) + :init + (when (fboundp 'lsp-deferred) + (defun lsp-c-install-save-hooks () + (add-hook 'before-save-hook #'lsp-format-buffer t t) + (add-hook 'before-save-hook #'lsp-organize-imports t t)) - (add-hook 'c-mode-hook #'lsp-deferred) - (add-hook 'c-mode-hook #'lsp-c-install-save-hooks) + (add-hook 'c-mode-hook #'lsp-deferred) + (add-hook 'c-mode-hook #'lsp-c-install-save-hooks) - ;; c-mode sets TAB to 'c-indent-line-or-region by default which collides with corfu. - (add-hook 'c-mode-hook (lambda () (define-key c-mode-map (kbd "") #'indent-for-tab-command))))) + ;; c-mode sets TAB to 'c-indent-line-or-region by default which collides with corfu. + (add-hook 'c-mode-hook (lambda () (define-key c-mode-map (kbd "") #'indent-for-tab-command)))))) + +(when (fboundp 'lsp-deferred) + (defun lsp-c-install-save-hooks () + (add-hook 'before-save-hook #'lsp-format-buffer t t) + (add-hook 'before-save-hook #'lsp-organize-imports t t)) + + (add-hook 'c-mode-hook #'lsp-deferred) + (add-hook 'c-mode-hook #'lsp-c-install-save-hooks) + + ;; c-mode sets TAB to 'c-indent-line-or-region by default which collides with corfu. + (add-hook 'c-mode-hook (lambda () (define-key c-mode-map (kbd "") #'indent-for-tab-command)))) (provide 'init-c) ;;; init-c.el ends here diff --git a/lisp/init-elvish.el b/lisp/init-elvish.el new file mode 100644 index 0000000..ce7b79d --- /dev/null +++ b/lisp/init-elvish.el @@ -0,0 +1,11 @@ + +(use-package elvish-mode + :mode "\\.elv\\'" + + :config + (setq tab-width 2 + elvish-indent-level 2 + elvish-indent-string-contents t)) + +(provide 'init-elvish) +;;; init-elvish.el ends here diff --git a/lisp/init-eshell.el b/lisp/init-eshell.el index 97f67bf..3b8c65c 100644 --- a/lisp/init-eshell.el +++ b/lisp/init-eshell.el @@ -11,7 +11,7 @@ ;; custom prompt, which resembles my bash prompt (defun shk-eshell-prompt () - (let ((header-bg "Azure")) + (let ((header-bg "White")) (concat (with-face "\n") (with-face (format-time-string @@ -23,9 +23,9 @@ (ignore-errors (format "(%s)" (vc-responsible-backend default-directory))) "") :background header-bg) (with-face "\n" :background header-bg) - (with-face user-login-name :foreground "blue") + (with-face user-login-name :foreground "DarkOrange") "@" - (with-face "localhost" :foreground "blue") + (with-face "localhost" :foreground "DarkOrange") (if (= (user-uid) 0) (with-face " #" :foreground "red") " $") @@ -209,6 +209,9 @@ a list symbol describing the command." ;; no need for less or more, this is emacs, isn't it? (setenv "PAGER" "cat") +;; much better replacement for eshell! +(use-package vterm + :ensure t) (provide 'init-eshell) ;;; init-eshell.el ends here diff --git a/lisp/init-globalbindings.el b/lisp/init-globalbindings.el index 031af81..5e7e359 100644 --- a/lisp/init-globalbindings.el +++ b/lisp/init-globalbindings.el @@ -21,7 +21,7 @@ (global-set-key (kbd "C-") 'kill-word) ; Shift+Entf dito (global-set-key (kbd "C-") 'backward-kill-word) ; Shift+Backspace dito (global-unset-key (kbd "C-z")) -(global-set-key (kbd "C-x k") 'kill-this-buffer) ; C-x k really kill current buffer w/o asking +(global-set-key (kbd "C-x k") 'kill-current-buffer) ; C-x k really kill current buffer w/o asking (global-set-key (kbd "C-x C-b") 'buffer-menu) diff --git a/lisp/init-org-present.el b/lisp/init-org-present.el index 790bddd..9a06909 100644 --- a/lisp/init-org-present.el +++ b/lisp/init-org-present.el @@ -82,7 +82,7 @@ (add-hook 'org-present-after-navigate-functions 'tvd/org-present-prepare-slide) (define-key org-present-mode-keymap (kbd "q") 'org-present-quit) - (define-key org-present-mode-keymap (kbd "") 'org-present-top) + (define-key org-present-mode-keymap (kbd "") 'org-present-beginning) (define-key org-present-mode-keymap (kbd "") 'org-present-end)) (use-package visual-fill-column diff --git a/lisp/init-org.el b/lisp/init-org.el index c541348..f75a10a 100644 --- a/lisp/init-org.el +++ b/lisp/init-org.el @@ -202,6 +202,13 @@ down and unfold it, otherwise jump paragraph as usual." (when (fboundp 'org-bullets-mode) (org-bullets-mode 1)) + ;; during some update org-mode went to enable + ;; default variable pitch font, which I hate hate + ;; hate. I want to have a font with fixed font + ;; spacing (called fixed-pitch), so I disable the + ;; variable-fuck font here once and for all. Dammit. + (variable-pitch-mode -1) + (org-babel-do-load-languages 'org-babel-load-languages '((python . t) (emacs-lisp . t) @@ -213,8 +220,6 @@ down and unfold it, otherwise jump paragraph as usual." ;; no more ... at the end of a heading (setq org-ellipsis " ⤵") - ;; use mono spaced font in src blocks - (set-face-attribute 'org-block nil :inherit 'fixed-pitch) (setq org-activate-links '(plain radio tag date footnote)) ;; my own keywords, must be set globally, not catched correctly inside hook diff --git a/lisp/init-typst.el b/lisp/init-typst.el new file mode 100644 index 0000000..466a029 --- /dev/null +++ b/lisp/init-typst.el @@ -0,0 +1,16 @@ +;; https://codeberg.org/meow_king/typst-ts-mode + + +(use-package typst-ts-mode + :mode "\\.typ\\'" + + ;; after installation, execute manually: + ;; typst-ts-mc-install-grammar + + :config + (setq tab-width 4 + typst-indent-level 4 + typst-indent-string-contents t)) + +(provide 'init-typst) +;;; init-typst.el ends here