summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/company.el4
-rw-r--r--packages/conf-mode.el9
-rw-r--r--packages/dired.el4
-rw-r--r--packages/ebuild-mode.el11
-rw-r--r--packages/ediff.el4
-rw-r--r--packages/eglot.el5
-rw-r--r--packages/flycheck.el9
-rw-r--r--packages/flymake.el8
-rw-r--r--packages/highlight-indentation.el2
-rw-r--r--packages/ibuffer.el10
-rw-r--r--packages/ielm.el3
-rw-r--r--packages/image-dired.el3
-rw-r--r--packages/magit.el3
-rw-r--r--packages/man.el3
-rw-r--r--packages/nasm-mode.el3
-rw-r--r--packages/pixel-scroll.el8
-rw-r--r--packages/prog-mode.el9
-rw-r--r--packages/recentf.el3
-rw-r--r--packages/savehist.el4
-rw-r--r--packages/saveplace.el4
-rw-r--r--packages/sh-script.el3
-rw-r--r--packages/text-mode.el4
-rw-r--r--packages/tramp.el8
-rw-r--r--packages/transient.el5
-rw-r--r--packages/treesit.el36
-rw-r--r--packages/wgsl-ts-mode.el3
26 files changed, 168 insertions, 0 deletions
diff --git a/packages/company.el b/packages/company.el
new file mode 100644
index 0000000..59612c4
--- /dev/null
+++ b/packages/company.el
@@ -0,0 +1,4 @@
+(use-package company
+ :custom
+ (company-minimum-prefix-length 2)
+ (company-idle-delay 0))
diff --git a/packages/conf-mode.el b/packages/conf-mode.el
new file mode 100644
index 0000000..304f72a
--- /dev/null
+++ b/packages/conf-mode.el
@@ -0,0 +1,9 @@
+(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)))))
diff --git a/packages/dired.el b/packages/dired.el
new file mode 100644
index 0000000..02f6d72
--- /dev/null
+++ b/packages/dired.el
@@ -0,0 +1,4 @@
+(use-package dired
+ :custom
+ (dired-listing-switches "-ahl --group-directories-first")
+ (dired-kill-when-opening-new-dired-buffer t))
diff --git a/packages/ebuild-mode.el b/packages/ebuild-mode.el
new file mode 100644
index 0000000..f3b3448
--- /dev/null
+++ b/packages/ebuild-mode.el
@@ -0,0 +1,11 @@
+(use-package ebuild-mode
+ :if (locate-library "ebuild-mode")
+ :mode (rx (literal ".") (or "ebuild" "eclass") eos)
+ :custom
+ (ebuild-mode-full-name "John Turner")
+ (ebuild-mode-mail-address "jturner.usa@gmail.com")
+ (ebuild-mode-portage-tmpdir (file-name-concat (getenv "HOME") "tmp" "ebuild"))
+ (ebuild-mode-portdir "/var/db/repos/gentoo")
+ (ebuild-mode-xml-indent-tabs t)
+ (ebuild-mode-process-environment (list (format "ROOT=%s" ebuild-mode-portage-tmpdir)
+ (format "PORTAGE_TMPDIR=%s" ebuild-mode-portage-tmpdir))))
diff --git a/packages/ediff.el b/packages/ediff.el
new file mode 100644
index 0000000..88f1eb1
--- /dev/null
+++ b/packages/ediff.el
@@ -0,0 +1,4 @@
+(use-package ediff
+ :custom
+ (ediff-split-window-function 'split-window-horizontally)
+ (ediff-window-setup-function 'ediff-setup-windows-plain))
diff --git a/packages/eglot.el b/packages/eglot.el
new file mode 100644
index 0000000..2b5fc20
--- /dev/null
+++ b/packages/eglot.el
@@ -0,0 +1,5 @@
+(use-package eglot
+ :if (locate-library "eglot")
+ :custom
+ (eglot-autoshutdown t)
+ (eglot-events-buffer-size . nil))
diff --git a/packages/flycheck.el b/packages/flycheck.el
new file mode 100644
index 0000000..2ea1e66
--- /dev/null
+++ b/packages/flycheck.el
@@ -0,0 +1,9 @@
+(use-package flycheck
+ :hook
+ (flycheck-error-list-mode . visual-line-mode)
+ :custom
+ (flycheck-python-mypy-cache-dir (file-name-concat (getenv "HOME") ".cache" "mypy"))
+ :config
+ (when (require 'best-side-window nil t)
+ (add-to-list 'display-buffer-alist '((major-mode . flycheck-error-list-mode)
+ best-side-window-display-buffer-in-best-side-window))))
diff --git a/packages/flymake.el b/packages/flymake.el
new file mode 100644
index 0000000..b39be0f
--- /dev/null
+++ b/packages/flymake.el
@@ -0,0 +1,8 @@
+(use-package flymake
+ :hook
+ (flymake-diagnostics-buffer-mode . visual-line-mode)
+ :config
+ (when (require 'best-side-window nil t)
+ (add-to-list 'display-buffer-alist '((major-mode . flymake-diagnostics-buffer-mode)
+ best-side-window-display-buffer-in-best-side-window))))
+
diff --git a/packages/highlight-indentation.el b/packages/highlight-indentation.el
new file mode 100644
index 0000000..499f6e9
--- /dev/null
+++ b/packages/highlight-indentation.el
@@ -0,0 +1,2 @@
+(use-package highlight-indentation
+ :if (locate-library "highlight-indentation"))
diff --git a/packages/ibuffer.el b/packages/ibuffer.el
new file mode 100644
index 0000000..d5d4cd9
--- /dev/null
+++ b/packages/ibuffer.el
@@ -0,0 +1,10 @@
+(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))))
diff --git a/packages/ielm.el b/packages/ielm.el
new file mode 100644
index 0000000..fce4ddd
--- /dev/null
+++ b/packages/ielm.el
@@ -0,0 +1,3 @@
+(use-package ielm
+ :hook
+ (ielm-mode . visual-line-mode))
diff --git a/packages/image-dired.el b/packages/image-dired.el
new file mode 100644
index 0000000..c81e7a3
--- /dev/null
+++ b/packages/image-dired.el
@@ -0,0 +1,3 @@
+(use-package image-dired
+ :custom
+ (image-dired-dir (file-name-concat (xdg-cache-home) "image-dired")))
diff --git a/packages/magit.el b/packages/magit.el
new file mode 100644
index 0000000..1b052ae
--- /dev/null
+++ b/packages/magit.el
@@ -0,0 +1,3 @@
+(use-package magit
+ :commands magit
+ :custom (magit-inhibit-libgit t))
diff --git a/packages/man.el b/packages/man.el
new file mode 100644
index 0000000..68c2766
--- /dev/null
+++ b/packages/man.el
@@ -0,0 +1,3 @@
+(use-package man
+ :custom
+ (Man-notify-method 'pushy))
diff --git a/packages/nasm-mode.el b/packages/nasm-mode.el
new file mode 100644
index 0000000..d30f5ed
--- /dev/null
+++ b/packages/nasm-mode.el
@@ -0,0 +1,3 @@
+(use-package nasm-mode
+ :config
+ (advice-add 'nasm-comment :around (lambda (&rest _) (insert ";"))))
diff --git a/packages/pixel-scroll.el b/packages/pixel-scroll.el
new file mode 100644
index 0000000..a682571
--- /dev/null
+++ b/packages/pixel-scroll.el
@@ -0,0 +1,8 @@
+(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))
+
diff --git a/packages/prog-mode.el b/packages/prog-mode.el
new file mode 100644
index 0000000..3da5cfd
--- /dev/null
+++ b/packages/prog-mode.el
@@ -0,0 +1,9 @@
+(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)))))
diff --git a/packages/recentf.el b/packages/recentf.el
new file mode 100644
index 0000000..d548149
--- /dev/null
+++ b/packages/recentf.el
@@ -0,0 +1,3 @@
+(use-package recentf
+ :custom
+ (recentf-save-file (file-name-concat (xdg-state-home) "emacs/recentf")))
diff --git a/packages/savehist.el b/packages/savehist.el
new file mode 100644
index 0000000..71a032e
--- /dev/null
+++ b/packages/savehist.el
@@ -0,0 +1,4 @@
+(use-package savehist
+ :custom
+ (savehist-file (file-name-concat (xdg-state-home) "emacs/savehist"))
+ (savehist-save-minibuffer-history t))
diff --git a/packages/saveplace.el b/packages/saveplace.el
new file mode 100644
index 0000000..cfe0a21
--- /dev/null
+++ b/packages/saveplace.el
@@ -0,0 +1,4 @@
+(use-package saveplace
+ :custom
+ (save-place-file (file-name-concat (xdg-state-home) "saveplace/places"))
+ (save-place-limit nil))
diff --git a/packages/sh-script.el b/packages/sh-script.el
new file mode 100644
index 0000000..9ac8cca
--- /dev/null
+++ b/packages/sh-script.el
@@ -0,0 +1,3 @@
+(use-package sh-script
+ :custom
+ (sh-indent-statement-after-and nil))
diff --git a/packages/text-mode.el b/packages/text-mode.el
new file mode 100644
index 0000000..b281d95
--- /dev/null
+++ b/packages/text-mode.el
@@ -0,0 +1,4 @@
+(use-package text-mode
+ :hook
+ (text-mode . display-line-numbers-mode)
+ (text-mode . visual-line-mode))
diff --git a/packages/tramp.el b/packages/tramp.el
new file mode 100644
index 0000000..5af23df
--- /dev/null
+++ b/packages/tramp.el
@@ -0,0 +1,8 @@
+(use-package tramp
+ :custom
+ (tramp-password-cache nil)
+ (tramp-persistency-file-name (file-name-concat (xdg-state-home) "emacs/tramp/persistency-file"))
+ :config
+ (add-to-list 'tramp-connection-properties
+ (list (regexp-quote (format "/sudo:root@%s:" system-name))
+ "session-timeout" (* 60 60))))
diff --git a/packages/transient.el b/packages/transient.el
new file mode 100644
index 0000000..7e6690a
--- /dev/null
+++ b/packages/transient.el
@@ -0,0 +1,5 @@
+(use-package transient
+ :custom
+ (transient-levels-file (file-name-concat (xdg-state-home) "emacs/transient/levels.el"))
+ (transient-values-file (file-name-concat (xdg-state-home) "emacs/transient/values.el"))
+ (transient-history-file (file-name-concat (xdg-state-home) "emacs/transient/history.el")))
diff --git a/packages/treesit.el b/packages/treesit.el
new file mode 100644
index 0000000..0ba4a14
--- /dev/null
+++ b/packages/treesit.el
@@ -0,0 +1,36 @@
+(use-package treesit
+ :if (ignore-errors (treesit-available-p))
+ :config
+ (let ((setup-treesit-mode (lambda (parser treesit-mode modes &optional interpreters)
+ (if (not (treesit-language-available-p parser))
+ (message "treesit language parser not available for %s"
+ (symbol-name language))
+ (seq-each (lambda (mode)
+ (add-to-list 'auto-mode-alist
+ (cons (rx (literal ".")
+ (literal mode) eos)
+ treesit-mode)))
+ modes)
+ (seq-each (lambda (interpreter)
+ (add-to-list 'interpreter-mode-alist
+ (cons interpreter treesit-mode)))
+ interpreters)))))
+ (funcall setup-treesit-mode 'python 'python-ts-mode '("py") '("python" "python3"))
+ (funcall setup-treesit-mode 'bash 'bash-ts-mode '("sh") '("bash" "sh" "openrc-run"))
+ (funcall setup-treesit-mode 'rust 'rust-ts-mode '("rs"))
+ (funcall setup-treesit-mode 'cpp 'c++-ts-mode '("cpp" "cxx" "c++" "hpp" "hxx" "h++"))))
+
+(use-package rust-ts-mode
+ :requires treesit
+ :hook
+ (rust-ts-mode . (lambda ()
+ (when (require 'rust-mode nil t)
+ (add-hook 'before-save-hook 'rust-before-save-method nil t)
+ (add-hook 'after-save-hook 'rust-after-save-method nil t)
+ (use-local-map (make-composed-keymap (list rust-ts-mode-map rust-mode-map)))))))
+
+(use-package c-ts-mode
+ :requires treesit
+ :custom
+ (c-ts-mode-indent-style 'linux)
+ (c-ts-mode-indent-offset 2))
diff --git a/packages/wgsl-ts-mode.el b/packages/wgsl-ts-mode.el
new file mode 100644
index 0000000..fe27b56
--- /dev/null
+++ b/packages/wgsl-ts-mode.el
@@ -0,0 +1,3 @@
+(use-package conf-mode
+ :custom
+ (wgsl-ts-mode-indent-offset 4))