From c12f204d38e5f542a38333ae675b842d243f3d8e Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Sat, 9 Nov 2024 11:39:26 +0200 Subject: Various changes - Added amx - Added compat - Got rid of lambdas in hooks - Got rid of a lot of after-init hookinh --- init.el | 108 ++++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 78 insertions(+), 30 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index b3ff85a..b7ed7cb 100644 --- a/init.el +++ b/init.el @@ -12,6 +12,8 @@ (setq-default user-full-name "Uko Kokņevičs" user-email-address "perkontevs@gmail.com") +(defconst +emacs29+ (version< emacs-version "30.0")) + (defconst +linux+ (eq system-type 'gnu/linux)) (defconst +mac+ (eq system-type 'darwin)) (defconst +bsd+ (or +mac+ (eq system-type 'berkeley-unix))) @@ -113,6 +115,14 @@ (eval-print-last-sexp))) (load bootstrap-file)) +;; use-package +(use-package use-package) + +;; compat +(use-package compat-30 + :if +emacs29+ + :straight 'compat) + ;; I don't want these (when (fboundp 'tool-bar-mode) (tool-bar-mode -1)) (when (fboundp 'scroll-bar-mode) (scroll-bar-mode -1)) @@ -143,9 +153,6 @@ (add-hook 'before-save-hook #'delete-trailing-whitespace) -;; use-package -(use-package use-package) - ;; HIC SVNT DRACONES (use-package ace-window @@ -153,6 +160,11 @@ :bind (([remap other-window] . ace-window) ("C-x o" . ace-window))) +(use-package amx + :straight t + :config + (amx-mode +1)) + (use-package auto-compile :straight t :hook ((emacs-lisp-mode . auto-compile-on-load-mode) @@ -163,7 +175,11 @@ :straight '(c-ts-mode :type built-in) :mode ("\\.c\\'" ("\\.cpp\\'" . c++-ts-mode)) - :hook (c-ts-base-mode . (lambda () (set-tab-usage t) (set-tab-width c-ts-mode-indent-offset))) + :init + (defun arkta/c-setup () + (set-tab-usage t) + (set-tab-width c-ts-mode-indent-offset)) + :hook (c-ts-base-mode . arkta/c-setup) :custom (c-ts-mode-indent-offset 8) (c-ts-mode-indent-style (lambda () @@ -174,8 +190,11 @@ (use-package centaur-tabs :straight t - :hook ((after-init . (lambda () (centaur-tabs-mode +1))) - (dashboard-mode . (lambda () (centaur-tabs-local-mode +1)))) + :demand t + :init + (defun arkta/disable-centaur-tabs-mode () + (centaur-tabs-local-mode +1)) + :hook (dashboard-mode . arkta/disable-centaur-tabs-mode) :bind (("C-x " . centaur-tabs-forward) ("C-x " . centaur-tabs-forward) ("C-x " . centaur-tabs-backward) @@ -190,7 +209,9 @@ (centaur-tabs-set-close-button nil) (centaur-tabs-set-modified-marker t) (centaur-tabs-modified-marker "●") - (centaur-tabs-cycle-scope 'tabs)) + (centaur-tabs-cycle-scope 'tabs) + :config + (centaur-tabs-mode +1)) (use-package cmake-ts-mode :after treesit @@ -222,16 +243,19 @@ (use-package copyright :straight '(copyright :type built-in) - :hook (before-save . (lambda () - (save-mark-and-excursion - (copyright-update) - (copyright-fix-years)))) + :init + (defun arkta/maybe-fix-copyright () + (save-mark-and-excursion + (copyright-update) + (copyright-fix-years))) + :hook (before-save . arkta/maybe-fix-copyright) :custom (copyright-names-regexp "Eris\\|Ukko\\|Uko\\|Free Software") (copyright-year-ranges t)) (use-package counsel :straight t + :after amx :config (counsel-mode +1)) @@ -251,8 +275,8 @@ (use-package dashboard :straight t - :hook ((after-init . dashboard-setup-startup-hook) - (server-after-make-frame . dashboard-open)) + :demand t + :hook (server-after-make-frame . dashboard-open) :custom (dashboard-center-content nil) (dashboard-startup-banner (expand-file-name "logo.png" user-emacs-directory)) @@ -260,17 +284,29 @@ (dashboard-projects-backend 'project-el) (dashboard-set-heading-icons t) (dashboard-set-file-icons t) - (dashboard-set-init-info t)) + (dashboard-set-init-info t) + :config + (dashboard-setup-startup-hook)) (use-package display-fill-column-indicator :straight '(display-fill-column-indicator :type built-in) - :hook ((after-init . (lambda () (global-display-fill-column-indicator-mode +1))) - (dashboard-mode . (lambda () (display-fill-column-indicator-mode -1))))) + :demand t + :init + (defun arkta/disable-dfci () + (display-fill-column-indicator-mode -1)) + :hook (dashboard-mode . arkta/disable-dfci) + :config + (global-display-fill-column-indicator-mode +1)) (use-package display-line-numbers :straight '(display-line-numbers :type built-in) - :hook ((after-init . (lambda () (global-display-line-numbers-mode +1))) - (help-mode . (lambda () (display-line-numbers-mode -1))))) + :demand t + :init + (defun arkta/disable-dln () + (display-line-numbers-mode -1)) + :hook (help-mode . arkta/disable-dln) + :config + (global-display-line-numbers-mode +1)) (use-package dockerfile-ts-mode :after treesit @@ -313,7 +349,10 @@ (use-package elixir-mode :straight t :mode "\\.exs?\\'" - :hook (elixir-mode . (lambda () (add-hook 'before-save-hook #'elixir-format nil t)))) + :init + (defun arkta/elixir-setup () + (add-hook 'before-save-hook #'elixir-format nil t)) + :hook (elixir-mode . arkta/elixir-setup)) (use-package emojify :straight t @@ -322,6 +361,7 @@ (use-package envrc :straight t + ;; This actually has to be hooked to after-init to be one of the first minor modes enabled :hook (after-init . envrc-global-mode)) (use-package files @@ -370,11 +410,12 @@ :after treesit :straight '(go-ts-mode :type built-in) :mode "\\.go\\'" - :hook - (go-ts-mode . (lambda () - (add-hook 'before-save-hook #'gofmt-before-save nil t) - (set-tab-usage t) - (set-tab-width go-ts-mode-indent-offset)))) + :init + (defun arkta/go-setup () + (add-hook 'before-save-hook #'gofmt-before-save nil t) + (set-tab-usage t) + (set-tab-width go-ts-mode-indent-offset)) + :hook (go-ts-mode . arkta/go-setup)) (use-package groovy-mode :straight t @@ -404,13 +445,15 @@ (use-package ivy :after (counsel swiper) :straight t - :hook (after-init . (lambda () (ivy-mode +1))) + :demand t :bind (("C-c r" . ivy-resume) ("C-c v" . ivy-push-view) ("C-c V" . ivy-pop-view)) :custom (ivy-use-virtual-buffers t) - (ivy-count-format "(%d/%d) ")) + (ivy-count-format "(%d/%d) ") + :config + (ivy-mode +1)) (use-package java-ts-mode :after treesit @@ -456,7 +499,10 @@ :straight t :mode ("\\.asm\\'" "\\.inc\\'") - :hook (nasm-mode . (lambda () (set-tab-width 4)))) + :init + (defun arkta/nasm-setup () + (set-tab-width 4)) + :hook (nasm-mode . arkta/nasm-setup)) (use-package nerd-icons :straight t @@ -465,8 +511,7 @@ (unless (find-font (font-spec :family nerd-icons-font-family)) ;; TODO: Maybe also reinstall them every month or so (nerd-icons-install-fonts t))) - :hook - (after-init . arkta/nerd-icons-maybe-install-fonts)) + :hook (after-init . arkta/nerd-icons-maybe-install-fonts)) (use-package nix-mode :straight t @@ -559,7 +604,10 @@ (use-package rainbow-mode :straight t - :hook (prog-mode . (lambda () (rainbow-mode +1)))) + :init + (defun arkta/enable-rainbow () + (rainbow-mode +1)) + :hook (prog-mode . arkta/enable-rainbow)) (use-package ruby-ts-mode :after treesit -- cgit v1.2.3