From 288ccb3984c7cb46b67d0f6bf7fb6d53c5d7a2d3 Mon Sep 17 00:00:00 2001 From: bd Date: Sat, 13 Dec 2025 23:43:10 -0500 Subject: guix: full refactor of configuration structure --- .config/emacs/modules/bd--devel.el | 229 ------------------------------------- 1 file changed, 229 deletions(-) delete mode 100644 .config/emacs/modules/bd--devel.el (limited to '.config/emacs/modules/bd--devel.el') diff --git a/.config/emacs/modules/bd--devel.el b/.config/emacs/modules/bd--devel.el deleted file mode 100644 index 0c17367..0000000 --- a/.config/emacs/modules/bd--devel.el +++ /dev/null @@ -1,229 +0,0 @@ -;;; -*- lexical-binding: t; -*- -;;; Commentary: -;;; Code: - -(require 'selector) -(require 'dash) - -(setopt display-line-numbers-type 'relative) -(defvar bd/enable-line-numbers-in-hooks - '(prog-mode-hook) - "List of hook symbols to add `display-line-numbers-mode' to.") -(mapc - (lambda (hook) - (add-hook hook #'display-line-numbers-mode)) - bd/enable-line-numbers-in-hooks) - -;; skr (skribe) is a scheme extension -(add-to-list 'auto-mode-alist '("\\.skr\\'" . scheme-mode)) - -(defun bd/beginning-of-visual-line-dwim (&optional n) - (interactive "P") - (let ((pt (point))) - (back-to-indentation) - (when (or n (eq pt (point))) - (beginning-of-visual-line n)))) - -(define-minor-mode dwim-cursor-mode - "Toggle dwim-cursor-mode." - :init-value nil - :group 'quality - :light " SC" - :keymap (list - (cons (kbd "C-a") #'bd/beginning-of-visual-line-dwim))) - -(use-package prog-mode - :hook - ((js-mode . (lambda () - (add-to-list 'prettify-symbols-alist '("function" . ?ƒ)))) - (prog-mode . (lambda () - (font-lock-add-keywords - nil '(("\\<\\(FIX\\(ME\\)?\\|TODO\\)" - 1 font-lock-warning-face t))))) - (prog-mode . dwim-cursor-mode)) - :config - (global-prettify-symbols-mode 1)) - -(use-package tramp - :config - (defun request-sudo () - "Uses TRAMP to edit current opened file as root." - (interactive) - (when buffer-file-name - (find-alternate-file - (concat "/sudo:root@localhost:" - buffer-file-name)))) - (setopt tramp-remote-path - (append tramp-remote-path - '(tramp-own-remote-path - "~/.guix-profile/bin" "~/.guix-profile/sbin")))) - -(use-package vc - :bind (("C-x v B" . #'bd/vc-browse-remote)) - :config - (defun bd/vc-browse-remote (&optional current-line) - "Open the repository's remote URL in the browser. -If CURRENT-LINE is non-nil, point to the current branch, file, and line. -Otherwise, open the repository's main page." - (interactive "P") - (let* ((remote-url (string-trim (vc-git--run-command-string nil "config" "--get" "remote.origin.url"))) - (branch (string-trim (vc-git--run-command-string nil "rev-parse" "--abbrev-ref" "HEAD"))) - (file (string-trim (file-relative-name (buffer-file-name) (vc-root-dir)))) - (line (line-number-at-pos))) - (message "Opening remote on browser: %s" remote-url) - (if (and remote-url (string-match "\\(?:git@\\|https://\\)\\([^:/]+\\)[:/]\\(.+?\\)\\(?:\\.git\\)?$" remote-url)) - (let ((host (match-string 1 remote-url)) - (path (match-string 2 remote-url))) - ;; Convert SSH URLs to HTTPS (e.g., git@github.com:user/repo.git -> https://github.com/user/repo) - (when (string-prefix-p "git@" host) - (setq host (replace-regexp-in-string "^git@" "" host))) - ;; Construct the appropriate URL based on CURRENT-LINE - (browse-url - (if current-line - (format "https://%s/%s/blob/%s/%s#L%d" host path branch file line) - (format "https://%s/%s" host path)))) - (message "Could not determine repository URL"))))) - -(use-package hl-line - :hook - ((prog-mode . hl-line-mode) - (text-mode . hl-line-mode))) - -(use-package compile - :demand t - :hook ((compilation-filter . ansi-color-compilation-filter)) - :config - (setopt compilation-always-kill t - compilation-scroll-output 'first-error - compilation-ask-about-save nil - ansi-color-for-compilation-mode t) - (defun bd/compile-dwim (f) - (let ((default-directory (bd/get-directory-dwim))) - (call-interactively f))) - (add-to-list 'display-buffer-alist - '((major-mode . compilation-mode) - (display-buffer-in-side-window) - (side . bottom) - (slot . -1) - (width . 0.15) - (post-command-select-window t))) - - (keymap-set prog-mode-map - "C-," #'(lambda () - (interactive) - (bd/compile-dwim #'recompile))) - (keymap-set prog-mode-map - "C-<" #'(lambda () - (interactive) - (bd/compile-dwim #'compile)))) - -(use-package man - :config - (setopt Man-notify-method 'pushy)) - -(use-package eldoc - :init - (global-eldoc-mode)) - -(use-package flymake - :bind (("C-c f f" . #'flymake-mode) - :map flymake-mode-map - ("C-c f s" . #'flymake-start) - ("C-c f n" . #'flymake-goto-next-error) - ("C-c f p" . #'flymake-goto-prev-error) - ("C-c f b" . #'flymake-show-buffer-diagnostics) - ("C-c f d" . #'flymake-show-project-diagnostics)) - :config - (setopt flymake-no-changes-timeout nil - flymake-start-on-flymake-mode t - flymake-start-on-save-buffer t - flymake-proc-compilation-prevents-syntax-check t - flymake-wrap-around nil - flymake-show-diagnostics-at-end-of-line nil)) - -(require 'geiser) -(require 'geiser-mode) -(require 'geiser-guile) - -(use-package cider) - -(use-package gdb-mi - :config - (setopt gdb-debuginfod-enable-setting nil)) - -(use-package eglot - :defer t - :bind (:map eglot-mode-map - ("C-c C-f" . eglot-format) - ("C-c C-e" . eglot-rename)) - :config - (setopt eglot-autoshutdown t - eglot-prefer-plaintext t - jsonrpc-event-hook nil) - (add-to-list 'eglot-server-programs - '(c-mode . ("ccls" "--init={\"clang\": {\"extraArgs\": [\"-std=c++20\"]}}")))) - -(use-package rainbow-mode - :hook css-mode) - -(use-package lua-mode) - -(use-package clojure-mode) - -(use-package slime - :defer t - :commands slime - :bind (:map slime-mode-map - ("C-c C-k" . slime-eval-buffer)) - :config - ;; more memory for ml libraries - (setopt inferior-lisp-program "sbcl --dynamic-space-size 4096")) - -(use-package yasnippet - :hook (vc-git-log-edit-mode . yas-minor-mode) - :config - (add-to-list 'yas-snippet-dirs (expand-file-name "~/pt/guix/etc/snippets/yas"))) - -(use-package paren - :config - (setopt show-paren-delay 0 - show-paren-style 'mixed - show-paren-highlight-openparen t - show-paren-context-when-offscreen t - show-paren-when-point-in-periphery t - show-paren-when-point-inside-paren t)) - -(use-package rainbow-delimiters - :hook prog-mode) - -(use-package paredit - :hook (ielm-mode - emacs-lisp-mode - eshell-mode - geiser-repl-mode - clojure-mode - cider-repl-mode - - lisp-mode - scheme-mode - slime-repl-mode - lisp-interaction-mode) - :config - (defun bd/paredit-preserve-repl (f &rest args) - "Wrapper around F (paredit-RET), discarding ARGS." - (pcase (cons major-mode (eolp)) - ('(inferior-emacs-lisp-mode . t) (ielm-return)) - ('(eshell-mode . t) (eshell-send-input)) - ('(geiser-repl-mode . t) (geiser-repl-maybe-send)) - ('(cider-repl-mode . t) (eshell-send-input)) - ('(slime-repl-mode . t) (slime-repl-return)) - (_ (funcall f)))) - (advice-add #'paredit-RET :around #'bd/paredit-preserve-repl) - (eldoc-add-command - 'paredit-backward-delete - 'paredit-close-round)) - -(use-package copyright) - -(provide 'bd--devel) -;;; bd--devel.el ends here -- cgit v1.2.3