dotfiles

My dotfiles.
git clone git://git.ryanmj.xyz/dotfiles.git
Log | Files | Refs | LICENSE

commit 63722233953786cd48277e454c3a9cd45101f367
parent 5ee9db84bcea47e1d4b043e22db01abeafe7a748
Author: ryan <ryan@springfield.localdomain>
Date:   Thu,  1 Dec 2022 14:42:12 -0800

Comments and tree-sitter

Diffstat:
M.config/emacs/init.el | 67++++++++++++++++++++++++++++++++++++-------------------------------
1 file changed, 36 insertions(+), 31 deletions(-)

diff --git a/.config/emacs/init.el b/.config/emacs/init.el @@ -30,11 +30,12 @@ (prefer-coding-system 'utf-8-unix) (if (eq system-type 'windows-nt) + ;; Windows (setq user-emacs-directory (concat (getenv "HOME") "/.emacs.d/")) - ;; Linux. + ;; Unix. (setq user-emacs-directory (concat (getenv "HOME") "/.config/emacs/"))) -;; Move where emacs puts its cache variables. +;; Move where emacs puts its cache variables (by default it's in init.el). (let* ((my-emacs-custom-file (concat user-emacs-directory "custom-vars.el"))) ;; Create custom variable file if it does not exist. (when (not (file-exists-p my-emacs-custom-file)) @@ -68,6 +69,7 @@ :fetcher git :url "https://github.com/quelpa/quelpa-use-package.git")) +; QoL (defalias 'yes-or-no-p 'y-or-n-p) (require 'quelpa-use-package) @@ -85,13 +87,14 @@ (setq x-gtk-use-system-tooltips nil) -;; Font +;; Font. (if (string= system-name "Southpark") (add-to-list 'default-frame-alist '(font . "Inconsolata Nerd Font Mono:size=16")) (add-to-list 'default-frame-alist '(font . "Inconsolata Nerd Font Mono:size=16"))) +;; Pretty symbols. Does not work for some reason. (use-package prettify-symbols-mode :init (defconst lisp--prettify-symbols-alist @@ -99,7 +102,7 @@ :hook (lisp-mode)) - +;; Custom themes not in ELPA. (add-to-list 'load-path (concat user-emacs-directory "/themes/")) (setq custom-safe-themes t) ; Treat all themes as safe (quelpa @@ -121,9 +124,9 @@ (modus-themes-load-themes) (modus-themes-load-vivendi)) +;; Custom modeline. (display-time-mode 1) (display-battery-mode 1) -;; Custom modeline. (defvar mode-line-modes `(:propertize ("" mode-name) help-echo "Major mode\n\ @@ -155,42 +158,44 @@ mouse-3: Toggle minor modes" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (make-variable-buffer-local 'make-backup-files) +;; Makes controls easier. (use-package rainbow-delimiters :ensure t :hook (prog-mode . rainbow-delimiters-mode)) +;; Show ugly whitespaces. (add-hook 'prog-mode-hook #'(lambda () (setq show-trailing-whitespace t))) -(save-place-mode 1) +(save-place-mode 1) ; Save place between sessions. (setq tty-menu-open-use-tmm t) -(global-set-key [f10] 'tmm-menubar) +(global-set-key [f10] 'tmm-menubar) ; Use neat terminal menubar. (put 'upcase-region 'disabled nil) -(electric-pair-mode t) +(electric-pair-mode t) ; Autoclose () {} [] "" etc. (show-paren-mode 1) -(setq-default indent-tabs-mode nil) -(setq-default tab-width 4) +(setq-default indent-tabs-mode nil) ; Use spaces. +(setq-default tab-width 4) ; Tabs should show up as 4 spaces. (setq column-number-mode t) -(tool-bar-mode -1) -(menu-bar-mode -1) +(tool-bar-mode -1) ; Hide toolbar. +(menu-bar-mode -1) ; Hide menubar. +;; Disable scrollbar. (when (boundp 'scroll-bar-mode) (scroll-bar-mode -1)) -(setq ring-bell-function 'ignore) -(blink-cursor-mode 0) -(set-language-environment "UTF-8") -(setq redisplay-dont-pause t) +(setq ring-bell-function 'ignore) ; Shut up. +(blink-cursor-mode 0) ; Stable cursor. +(set-language-environment "UTF-8") ; UTF-8 by default. +(setq redisplay-dont-pause t) ; Speed. (setq vc-follow-symlinks t) ; Otherwise emacs asks (setq tramp-terminal-type "tramp") ; See zshrc -(add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p) -(setq-default truncate-lines t) +(add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p) ; If script, do chmod +x automagically. +(setq-default truncate-lines t) ; Don't split lines visually. ;; scroll one line at a time (less "jumpy" than defaults) -(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) . 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 good-scroll :ensure t :init (good-scroll-mode 1)) - (use-package smooth-scrolling :ensure t :init @@ -228,6 +233,13 @@ mouse-3: Toggle minor modes" ;; Modes ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(use-package tree-sitter + :ensure t + :init (global-tree-sitter-mode)) + +(use-package tree-sitter-langs + :ensure t) + (use-package editorconfig :ensure t :config @@ -420,13 +432,6 @@ mouse-3: Toggle minor modes" (require 'org-ref-scopus) (require 'org-ref-wos)) -;; (use-package org-ref-ivy -;; :init (setq org-ref-insert-link-function 'org-ref-insert-link-hydra/body -;; org-ref-insert-cite-function 'org-ref-cite-insert-ivy -;; org-ref-insert-label-function 'org-ref-insert-label-link -;; org-ref-insert-ref-function 'org-ref-insert-ref-link -;; org-ref-cite-onclick-function (lambda (_) (org-ref-citation-hydra/body)))) - (use-package org-indent-mode :config (org-indent-mode t) @@ -899,11 +904,13 @@ variable rather than the global one." (save-excursion (indent-region (point-min) (point-max) nil))) +;; Format these modes on save. (apply-hook-to-modes '(c-mode-hook c++-mode-hook objc-mode-hook emacs-lisp-mode) #'(lambda () (add-hook 'before-save-hook #'indent-buffer nil t))) (apply-hook-to-modes '(emacs-lisp-mode) #'flycheck-mode) +;;; Edit files with doas and sudo. (defun er-doas-edit (&optional arg) "Edit currently visited file as root With a prefix ARG prompt for a file to visit. Will also prompt for a file to visit if current buffer is not visiting a file." @@ -913,8 +920,6 @@ Will also prompt for a file to visit if current buffer is not visiting a file." (ido-read-file-name "Find file(as root): "))) (find-alternate-file (concat "/doas:root@localhost:" buffer-file-name)))) - - (defun er-sudo-edit (&optional arg) "Edit currently visited file as root With a prefix ARG prompt for a file to visit. Will also prompt for a file to visit if current buffer is not visiting a file."