diff --git a/README.org b/README.org index d78cb707..3f3c7b07 100644 --- a/README.org +++ b/README.org @@ -333,12 +333,12 @@ Let's make parens and other delimiters easier to tell apart by making nested one I am currently using NixOS. In order for emacs to have access to certain programs, we need to set some environment variables #+begin_src emacs-lisp :tangle no (add-to-list 'exec-path "/home/chris/.nix-profile/bin") -(add-to-list 'exec-path "/etc/profiles/per-user/chris/bin") -(add-to-list 'exec-path "/run/current-system/sw/bin") +;; (add-to-list 'exec-path "/etc/profiles/per-user/chris/bin") +;; (add-to-list 'exec-path "/run/current-system/sw/bin") (add-to-list 'exec-path "/run/current-system/profile/bin") (add-to-list 'exec-path "/usr/bin") -(add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin") -(add-to-list 'exec-path "/home/chris/bin") +;; (add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin") +;; (add-to-list 'exec-path "/home/chris/bin") ;; (setq exec-directory "/usr/bin") (setenv "NIX_CONF_DIR" "/etc/nix") @@ -445,6 +445,9 @@ Here let's try to add ligatures to our font system since the VictorMono Nerd Fon #+end_src ** Keybindings +:PROPERTIES: +:ID: 20230626T163736.174293 +:END: There are two major packages we need to get the functionality I desire. Evil and general. #+begin_src emacs-lisp (use-package evil @@ -520,7 +523,7 @@ This evil-collection package includes a lot of other evil based things. "fs" '(save-buffer :which-key "save") "fE" '(consult-file-externally :which-key "find file externally") "fe" '(chris/edit-emacs-config :which-key "open config") - "hf" '(helpful-callable :which-key "describe-function") + "hf" '(helpful-function :which-key "describe-function") "hv" '(helpful-variable :which-key "describe-variable") "hk" '(helpful-key :which-key "describe-key") "hF" '(describe-face :which-key "describe-face") @@ -1023,7 +1026,8 @@ We also need to setup some capture templates to use some specific setups with my :config (setq org-roam-directory "~/org" org-roam-buffer-width 0.25 - org-roam-file-exclude-regexp ".stversion.*\|.stfolder.*\|.*~.*\|.*sync.*" + org-roam-list-files-commands '(fd rg find fdfind) + org-roam-file-exclude-regexp '(".stversion/|logseq/|presentations/|.stfolder/|.*~.*|.*sync.*") org-roam-db-location "~/.emacs.d/org-roam.db" org-roam-completion-everywhere t org-roam-dailies-directory "dailies/" @@ -1056,13 +1060,13 @@ We also need to setup some capture templates to use some specific setups with my ("m" "meeting" plain "%?" :file-name "%<%Y-%m-%d>-meeting-${slug}" :target (file+head "%<%Y-%m-%d>-meeting-${slug}.org" "#+TITLE: %<%Y-%m-%d> - ${slug} - #+AUTHOR: Chris Cochrun - #+CREATED: %<%D - %I:%M %p> + ,#+AUTHOR: Chris Cochrun + ,#+CREATED: %<%D - %I:%M %p> - * Attendees + ,* Attendees - - * Notes") + ,* Notes") :unnarrowed t))) (defun chris/org-roam-node-create () @@ -1076,6 +1080,25 @@ We also need to setup some capture templates to use some specific setups with my (org-id-get-create) (org-roam-alias-add)) ;; (set-face-attribute 'magit-section-highlight nil :inherit 'variable-pitch) + +(defun chris/consult-ripgrep-files-with-matches (&optional dir initial) + "Use consult-find style to return matches with \"rg --file-with-matches \". No live preview." + (interactive "P") + (let ((consult-find-command "rg --null --ignore-case -g presentations --type org --max-columns=500 --no-heading --line-buffered --line-number . -e ARG OPTS")) + (consult-find dir initial))) + +(defun chris/org-roam-rg-search () + "Search org-roam directory using consult-ripgrep. With live-preview." + (interactive) + (let ((consult-ripgrep-command "rg --null --ignore-case --type org --line-buffered --color=always --max-columns=500 --no-heading --line-number . -e ARG OPTS")) + (consult-ripgrep org-roam-directory))) + +(defun chris/org-roam-rg-file-search () + "Search org-roam directory using consult-find with \"rg --file-with-matches \". No live preview." + (interactive) + (chris/consult-ripgrep-files-with-matches org-roam-directory)) + + (org-roam-setup) :general (chris/leader-keys @@ -1090,6 +1113,7 @@ We also need to setup some capture templates to use some specific setups with my "ng" 'org-roam-graph "na" 'org-roam-alias-add "in" 'org-roam-node-insert + "ns" 'chris/org-roam-rg-search "nA" 'chris/org-roam-node-id-create) (chris/leader-keys :states 'visual @@ -2724,7 +2748,11 @@ Also here are some lisp specific stuff #+begin_src emacs-lisp (use-package paredit - :config + :hook ((lisp-mode . enable-paredit-mode) + (emacs-lisp-mode . enable-paredit-mode) + (scheme-mode . enable-paredit-mode) + (prog-mode . enable-paredit-mode) + (text-mode . enable-paredit-mode)) :general ('normal lisp-mode-map "gl" 'paredit-forward-slurp-sexp @@ -3087,7 +3115,7 @@ I may get into flutter development over using felgo..... but i'm not happy about Let's also add the android-sdk tools to emacs' path. #+begin_src emacs-lisp -(add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin") +;; (add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin") #+end_src *** php-mode Sometimes I have to deal with cruddy php-mode @@ -3292,6 +3320,16 @@ Let's try using dirvish as a kind of ranger '(nil "\\`root\\'" "/ssh:%h:")) (add-to-list 'tramp-default-proxies-alist '((regexp-quote (system-name)) nil nil)) +(add-to-list 'tramp-remote-path 'tramp-own-remote-path) + +(connection-local-set-profile-variables + 'guix-system + '((tramp-remote-path . (tramp-own-remote-path)))) +(connection-local-set-profiles + '(:application tramp :protocol "sudo" :machine "hostname") + 'guix-system) + +(setq tramp-default-proxies-alist '()) #+end_src ** Ledger @@ -3313,9 +3351,9 @@ Ledger mode mu4e-change-filenames-when-moving t mu4e-get-mail-command "mbsync -a" mu4e-update-interval (* 15 60) - mu4e-attachment-dir "/home/chris/nextcloud/home/Documents/attachments" + mu4e-attachment-dir "/home/chris/nc/home/Documents/attachments" mu4e-completing-read-function #'completing-read - mu4e-mu-binary "/home/chris/.guix-home/profile/bin/mu" + ;; mu4e-mu-binary "/home/chris/.guix-home/profile/bin/mu" ;; mu4e-mu-binary "/etc/profiles/per-user/chris/bin/mu" mu4e-compose-signature-auto-include nil mu4e-headers-fields @@ -3328,6 +3366,7 @@ Ledger mode mu4e-headers-personal-mark '("p" . " ") mu4e-headers-list-mark '("s" . " ")) + :config (setq mail-user-agent 'mu4e-user-agent) @@ -3739,7 +3778,7 @@ Let's add our own eshell prompt. and set the password cache to a significantly h ("ws" "rsync -avzP public/ chris@staff.tfcconnection.org:tfcconnection") ("wttr" "curl wttr.in/@home.cochrun.xyz") ("gh" "guix home -L ~/dotfiles/guix reconfigure /home/chris/dotfiles/guix/home.scm") - ("gs" "guix system -L ~/dotfiles/guix reconfigure /home/chris/dotfiles/guix/system.scm"))) + ("gs" "sudo guix system -L ~/dotfiles/guix reconfigure /home/chris/dotfiles/guix/system.scm"))) (defun chris/eshell-new() "Open a new eshell buffer" @@ -4024,18 +4063,20 @@ interfere with the default `bongo-playlist-buffer'." (use-package bongo :commands (bongo bongo-playlist-buffer) :config - (setq bongo-default-directory "~/Music" + (setq bongo-default-directory "~/music" bongo-prefer-library-buffers nil bongo-insert-whole-directory-trees t bongo-logo nil bongo-display-playback-mode-indicator t bongo-display-inline-playback-progress t + bongo-mpv-remote-option "--input-ipc-server=/tmp/bongo-mpv.socket" bongo-field-separator (propertize " · " 'face 'shadow)) (define-bongo-backend mpv :constructor 'bongo-start-mpv-player :program-name 'mpv - :extra-program-arguments '("--profile=fast --input-ipc-server=/tmp/mpvsocket") + :program-arguments '("--profile=fast") + :extra-program-arguments nil :matcher '((local-file "file:" "http:" "ftp:" "lbry:") "mpg" "mpeg" "vob" "avi" "ogm" "mp4" "mkv" "mov" "asf" "wmv" "rm" "rmvb" "ts") @@ -4060,6 +4101,7 @@ interfere with the default `bongo-playlist-buffer'." "mpg" "mpeg" "vob" "avi" "ogm" "mp4" "mkv" "mov" "asf" "wmv" "rm" "rmvb" "ts"))) + (setq bongo-enabled-backends '(mpv mpv-music) bongo-track-mark-icon-file-name "track-mark-icon.png") diff --git a/init.el b/init.el index 0dcba573..e40265d5 100644 --- a/init.el +++ b/init.el @@ -2038,7 +2038,11 @@ targets." "C-h" 'sp-backward-sexp)) (use-package paredit - :config + :hook ((lisp-mode . enable-paredit-mode) + (emacs-lisp-mode . enable-paredit-mode) + (scheme-mode . enable-paredit-mode) + (prog-mode . enable-paredit-mode) + (text-mode . enable-paredit-mode)) :general ('normal lisp-mode-map "gl" 'paredit-forward-slurp-sexp @@ -2241,7 +2245,7 @@ targets." (use-package hover :after dart) -(add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin") +;; (add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin") (use-package php-mode :mode ("\\.php\\'" . php-mode)) @@ -2946,18 +2950,20 @@ interfere with the default `bongo-playlist-buffer'." (use-package bongo :commands (bongo bongo-playlist-buffer) :config - (setq bongo-default-directory "~/Music" + (setq bongo-default-directory "~/music" bongo-prefer-library-buffers nil bongo-insert-whole-directory-trees t bongo-logo nil bongo-display-playback-mode-indicator t bongo-display-inline-playback-progress t + bongo-mpv-remote-option "--input-ipc-server=/tmp/bongo-mpv.socket" bongo-field-separator (propertize " · " 'face 'shadow)) (define-bongo-backend mpv :constructor 'bongo-start-mpv-player :program-name 'mpv - :extra-program-arguments '("--profile=fast --input-ipc-server=/tmp/mpvsocket") + :program-arguments '("--profile=fast") + :extra-program-arguments nil :matcher '((local-file "file:" "http:" "ftp:" "lbry:") "mpg" "mpeg" "vob" "avi" "ogm" "mp4" "mkv" "mov" "asf" "wmv" "rm" "rmvb" "ts") @@ -2982,6 +2988,7 @@ interfere with the default `bongo-playlist-buffer'." "mpg" "mpeg" "vob" "avi" "ogm" "mp4" "mkv" "mov" "asf" "wmv" "rm" "rmvb" "ts"))) + (setq bongo-enabled-backends '(mpv mpv-music) bongo-track-mark-icon-file-name "track-mark-icon.png")