!/themes
!/init
!/lisp
-!/dir-locals
\ No newline at end of file
+!/packages
+!/dir-locals
--- /dev/null
+(use-package conf-mode
+ :hook
+ (prog-mode . visual-line-mode)
+ (prog-mode . display-line-numbers-mode)
+ (prog-mode . electric-pair-mode)
+ (prog-mode . electric-indent-mode)
+ (prog-mode . (lambda ()
+ (when (featurep 'highlight-indentation)
+ (highlight-indentation-mode 1)))))
--- /dev/null
+(use-package ediff
+ :custom
+ (ediff-split-window-function 'split-window-horizontally)
+ (ediff-window-setup-function 'ediff-setup-windows-plain))
--- /dev/null
+(use-package eglot
+ :if (locate-library "eglot")
+ :custom (eglot-autoshutdown t))
--- /dev/null
+(use-package flycheck
+ :hook
+ (flycheck-error-list-mode . visual-line-mode))
--- /dev/null
+(use-package flymake
+ :hook
+ (flymake-diagnostics-buffer-mode . visual-line-mode))
--- /dev/null
+(use-package highlight-indentation
+ :if (locate-library "highlight-indentation"))
--- /dev/null
+(use-package ibuffer
+ :custom
+ (ibuffer-display-summary nil)
+ (ibuffer-expert t)
+ (ibuffer-formats '((mark modified read-only locked
+ " " (name 32 32 :left :elide)
+ " " (size 5 5 :right)
+ " " (mode 16 16 :left :elide)
+ " " filename-and-process)
+ (mark " " (name 16 -1) " " filename))))
--- /dev/null
+(use-package ielm
+ :hook
+ (ielm-mode . visual-line-mode))
--- /dev/null
+(use-package magit
+ :commands magit
+ :custom (magit-inhibit-libgit t))
--- /dev/null
+(use-package man
+ :custom
+ (Man-notify-method 'pushy))
--- /dev/null
+(use-package pixel-scroll
+ :if (and (locate-library "pixel-scroll")
+ (display-graphic-p))
+ :custom
+ (pixel-dead-time 0)
+ (pixel-wait 0)
+ (pixel-resolution-fine-flag 10))
+
--- /dev/null
+(use-package prog-mode
+ :hook
+ (prog-mode . visual-line-mode)
+ (prog-mode . display-line-numbers-mode)
+ (prog-mode . electric-pair-mode)
+ (prog-mode . electric-indent-mode)
+ (prog-mode . (lambda ()
+ (when (featurep 'highlight-indentation)
+ (highlight-indentation-mode 1)))))
--- /dev/null
+(use-package savehist
+ :custom
+ (savehist-file (file-name-concat user-emacs-directory "savehist"))
+ (savehist-save-minibuffer-history t))
--- /dev/null
+(use-package text-mode
+ :hook
+ (text-mode . display-line-numbers-mode)
+ (text-mode . visual-line-mode))
--- /dev/null
+(use-package tramp
+ :custom
+ (tramp-password-cache nil)
+ (tramp-persistency-file-name nil)
+ :config
+ (add-to-list 'tramp-connection-properties
+ (list (regexp-quote (format "/sudo:root@%s:" system-name))
+ "session-timeout" (* 60 20))))
--- /dev/null
+(use-package treesit
+ :if (>= emacs-major-version 29))
+
+(use-package rust-ts-mode
+ :requires treesit
+ :mode (rx (literal ".") "rs" eos)
+ :hook (rust-ts-mode . (lambda ()
+ (when (featurep 'rust-mode)
+ (add-hook before-save-hook rust-before-save-method)
+ (add-hook after-save-hook rust-after-save-method)
+ (use-local-map (make-composed-keymap (list rust-ts-mode-map rust-mode-map)))))))
+
+(use-package python-ts-mode
+ :requires treesit
+ :mode (rx (literal ".") "py" eos)
+ :interpreter ("python" "python3" "python2"))
+
+(use-package bash-ts-mode
+ :requires treesit
+ :mode (rx (literal ".") "sh" eos)
+ :interpreter ("bash" "sh" "openrc-run"))