Stumpwm, fix goroot, emacs tweaks

This commit is contained in:
Ian Keane 2026-08-06 15:50:20 -04:00
parent 901d74e8b2
commit 4c18be1f59
5 changed files with 138 additions and 28 deletions

View file

@ -1,4 +1,5 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR --export GOROOT:/usr/lib64/go1\x2e26\x2e5/go
SETUVAR __fish_initialized:4300
SETUVAR fish_user_paths:/home/green/\x2ecargo/bin\x1e/home/green/\x2elocal/bin\x1e/home/green/\x2elocal/share/npm/bin
SETUVAR fish_user_paths:/usr/lib64/go1\x2e26\x2e5/go/bin\x1e/home/green/\x2ecargo/bin\x1e/home/green/\x2elocal/bin\x1e/home/green/\x2elocal/share/npm/bin

View file

@ -1,3 +1,8 @@
# Start Emacs daemon if not already running (works with or without X)
if ! emacsclient -e nil 2>/dev/null; then
emacs --daemon 2>/dev/null &
fi
export EDITOR=vim
export BROWSER=nyxt
export PAGER=bat

View file

@ -0,0 +1,71 @@
(in-package :stumpwm)
;; change the prefix key to something else
(set-prefix-key (kbd "C-z"))
;; prompt the user for an interactive command. The first arg is an
;; optional initial contents.
(defcommand colon1 (&optional (initial "")) (:rest)
(let ((cmd (read-one-line (current-screen) ": " :initial-input initial)))
(when cmd
(eval-command cmd t))))
;; Read some doc
(define-key *root-map* (kbd "d") "exec gv")
;; Browse somewhere
(define-key *root-map* (kbd "b") "colon1 exec firefox http://www.")
;; Ssh somewhere
(define-key *root-map* (kbd "C-s") "colon1 exec xterm -e ssh ")
;; Lock screen
(define-key *root-map* (kbd "C-l") "exec xlock")
;; Web jump (works for DuckDuckGo and Imdb)
(defmacro make-web-jump (name prefix)
`(defcommand ,(intern name) (search) ((:rest ,(concatenate 'string name " search: ")))
(nsubstitute #\+ #\Space search)
(run-shell-command (concatenate 'string ,prefix search))))
(make-web-jump "duckduckgo" "firefox https://duckduckgo.com/?q=")
(make-web-jump "imdb" "firefox http://www.imdb.com/find?q=")
;; C-t M-s is a terrble binding, but you get the idea.
(define-key *root-map* (kbd "M-s") "duckduckgo")
(define-key *root-map* (kbd "i") "imdb")
;; Message window font
(set-font "-xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-15")
;;; Define window placement policy...
;; Clear rules
(clear-window-placement-rules)
;; Last rule to match takes precedence!
;; TIP: if the argument to :title or :role begins with an ellipsis, a substring
;; match is performed.
;; TIP: if the :create flag is set then a missing group will be created and
;; restored from *data-dir*/create file.
;; TIP: if the :restore flag is set then group dump is restored even for an
;; existing group using *data-dir*/restore file.
(define-frame-preference "Default"
;; frame raise lock (lock AND raise == jumpto)
(0 t nil :class "Konqueror" :role "...konqueror-mainwindow")
(1 t nil :class "XTerm"))
(define-frame-preference "Ardour"
(0 t t :instance "ardour_editor" :type :normal)
(0 t t :title "Ardour - Session Control")
(0 nil nil :class "XTerm")
(1 t nil :type :normal)
(1 t t :instance "ardour_mixer")
(2 t t :instance "jvmetro")
(1 t t :instance "qjackctl")
(3 t t :instance "qjackctl" :role "qjackctlMainForm"))
(define-frame-preference "Shareland"
(0 t nil :class "XTerm")
(1 nil t :class "aMule"))
(define-frame-preference "Emacs"
(1 t t :restore "emacs-editing-dump" :title "...xdvi")
(0 t t :create "emacs-dump" :class "Emacs"))

View file

@ -221,8 +221,23 @@ Setting this in the :init of evil doesn't work for some reason. It has to be ear
(use-package solaire-mode
:config (solaire-global-mode +1))
(use-package simple-modeline
:hook (after-init . simple-modeline-mode))
(use-package nerd-icons
:ensure t
:config
(unless (find-font (font-spec :name "Symbols Nerd Font"))
(nerd-icons-install-fonts t)))
(use-package doom-modeline
:hook (after-init . doom-modeline-mode)
:config
(setq doom-modeline-minor-modes t
doom-modeline-height 24
nerd-icons-font-family "Symbols Nerd Font Mono")
(set-face-attribute 'mode-line nil :height 0.9)
(set-face-attribute 'mode-line-inactive nil :height 0.9))
(use-package minions
:config (minions-mode 1))
;; turn off number mode in some contexts
(dolist (mode
@ -485,10 +500,14 @@ Setting this in the :init of evil doesn't work for some reason. It has to be ear
** Which-key
#+begin_src emacs-lisp
(use-package which-key
:ensure nil
:init (which-key-mode)
:diminish which-key-mode
:config
(setq which-key-idle-delay 0.3))
(setq which-key-idle-delay 0.3
which-key-add-column-padding 1
which-key-max-description-length 32
which-key-min-column-description-width 20))
#+end_src
** General
I know these could be bound on a per-package basis, but since this is my primary interface with emacs I'd rather keep all keymaps in one place, both for reference and to discourage myself from organizing my top-level bindings on a per-plugin basis rather than keeping the focus on functionality.
@ -1098,7 +1117,7 @@ Idk I think this came from the vertico readme
;; strategy, if you want to see the documentation from multiple providers.
;; (add-hook 'eldoc-documentation-functions #'embark-eldoc-first-target)
(define-key evil-normal-state-map (kbd "C-.") 'embark-act)
(evil-define-key 'normal evil-normal-state-map (kbd "C-.") embark-act)
(evil-define-key 'normal evil-normal-state-map (kbd "C-.") 'embark-act)
:config
@ -1205,6 +1224,30 @@ Idk I think this came from the vertico readme
All lisp-family languages
#+begin_src emacs-lisp
; Required for some reason
;; symex's deps are all countvajhula packages not in any recipe
;; repo. Pre-register all recipes so straight can resolve
;; transitive deps regardless of build order.
(dolist (recipe '((pubsub :host github :repo "countvajhula/pubsub")
(virtual-ring :host github :repo "countvajhula/virtual-ring")
(mantra :host github :repo "countvajhula/mantra")
(repeat-ring :host github :repo "countvajhula/repeat-ring")
(lithium :host github :repo "countvajhula/lithium")))
(straight-register-package recipe))
(use-package pubsub :straight (pubsub :host github :repo "countvajhula/pubsub"))
(use-package virtual-ring :straight (virtual-ring :host github :repo "countvajhula/virtual-ring"))
(use-package mantra :straight (mantra :host github :repo "countvajhula/mantra"))
(use-package repeat-ring :straight (repeat-ring :host github :repo "countvajhula/repeat-ring"))
(use-package lithium :straight (lithium :host github :repo "countvajhula/lithium"))
;; rigpa and symex-rigpa disabled for now — rigpa pulls in a
;; newer transient that needs cond-let which straight can't resolve
;; (use-package rigpa
;; :straight
;; (rigpa
;; :host github
;; :repo "countvajhula/rigpa"))
(use-package symex-core
:straight
(symex-core
@ -1249,29 +1292,15 @@ All lisp-family languages
#'geiser-edit-symbol-at-point)
(symex-ide-mode 1))
(use-package lithium
:straight t
:config
(lithium-mode 1))
(use-package rigpa
:straight
(rigpa
:type git
:host github
:repo "countvajhula/rigpa")
:config
(rigpa-mode 1))
(use-package symex-rigpa
:after (symex rigpa symex-evil)
:straight
(symex-rigpa
:host github
:repo "drym-org/symex.el"
:files ("symex-rigpa/symex*.el"))
:config
(symex-rigpa-mode 1))
;; (use-package symex-rigpa
;; :after (symex rigpa symex-evil)
;; :straight
;; (symex-rigpa
;; :host github
;; :repo "drym-org/symex.el"
;; :files ("symex-rigpa/symex*.el"))
;; :config
;; (symex-rigpa-mode 1))
#+end_src
*** Scheme

View file

@ -37,6 +37,10 @@ backup_and_link "$DOTFILES/config/yazi" "$HOME/.config/yazi"
backup_and_link "$DOTFILES/config/rofi" "$HOME/.config/rofi"
backup_and_link "$DOTFILES/config/zathura" "$HOME/.config/zathura"
# StumpWM: link individual file (preserve ~/.config/stumpwm for live data like groups, etc.)
mkdir -p "$HOME/.config/stumpwm"
backup_and_link "$DOTFILES/config/stumpwm/config.lisp" "$HOME/.config/stumpwm/config"
# GPG: link individual files to preserve ~/.gnupg's required 700 permissions
mkdir -p "$HOME/.gnupg"
chmod 700 "$HOME/.gnupg"