diff options
Diffstat (limited to 'oni')
| -rw-r--r-- | oni/home/config/data.scm | 28 | ||||
| -rw-r--r-- | oni/home/config/pop-os.scm | 17 | ||||
| -rw-r--r-- | oni/home/config/pop-os/emacs.el | 850 | ||||
| -rw-r--r-- | oni/home/config/rincewind.scm | 15 | ||||
| -rw-r--r-- | oni/home/services/emacs/org-mem.el | 8 | ||||
| -rw-r--r-- | oni/home/services/freedesktop.scm | 45 | ||||
| -rw-r--r-- | oni/home/services/stumpwm/stumpwm.lisp | 2 | ||||
| -rw-r--r-- | oni/home/services/terminals.scm | 40 | ||||
| -rw-r--r-- | oni/home/services/zsh.scm | 2 | ||||
| -rw-r--r-- | oni/packages/emacs-config.scm | 113 | ||||
| -rw-r--r-- | oni/packages/emacs.scm | 92 | ||||
| -rw-r--r-- | oni/packages/utilities.scm | 2 |
12 files changed, 275 insertions, 939 deletions
diff --git a/oni/home/config/data.scm b/oni/home/config/data.scm index 2cf41a0..6636ab3 100644 --- a/oni/home/config/data.scm +++ b/oni/home/config/data.scm @@ -20,18 +20,7 @@ #:use-module (gnu services) #:use-module (guix gexp) #:use-module (oni home config common) - #:use-module ((oni home services emacs) - #:select (home-emacs-service-type - home-emacs-configuration - home-emacs-helpful-configuration - home-emacs-yasnippet-capf-configuration - home-emacs-eros-service-type - home-emacs-ace-link-service-type - home-emacs-ace-link-configuration - home-emacs-golden-ratio-service-type - home-emacs-pinentry-service-type - home-emacs-org-caldav-service-type - home-emacs-envrc-configuration)) + #:use-module (oni home services emacs) #:use-module (oni home services environment) #:use-module (oni home services git) #:use-module (oni home services kdeconnect) @@ -56,7 +45,11 @@ "openssh" "keepassxc" "font-dosis" - "swaybg")) + "swaybg" + "emacs-geiser-hoot" + "wayland" + "emacs-org-journal" + "emacs-nginx-mode")) (list pick-random-wallpaper emacs-org-contacts @@ -64,7 +57,6 @@ emacs-outli emacs-guix - (emacs-oni-org-roam emacs-pgtk) emacs-oni-vterm emacs-oni-elisp emacs-oni-core @@ -178,4 +170,10 @@ xfuncname = \"^[[:space:]]*?\\\\(def\\\\w+? ((\\\\w|-|'|:|=|<|>)+)\" "))) - (service home-niri-service-type))))) + (service home-niri-service-type) + + (service home-wakatime-service-type + (home-wakatime-configuration + (api-url "https://waka.ryuslash.org/api") + (exclude '("COMMIT_EDITMSG$" + "TAG_EDITMSG$")))))))) diff --git a/oni/home/config/pop-os.scm b/oni/home/config/pop-os.scm index 80edc2a..fe28d66 100644 --- a/oni/home/config/pop-os.scm +++ b/oni/home/config/pop-os.scm @@ -5,10 +5,12 @@ #:select (home-gpg-agent-service-type home-gpg-agent-configuration)) #:use-module (gnu home services mail) + #:use-module (gnu home services ssh) #:use-module (gnu packages) #:use-module (gnu packages emacs) #:use-module (gnu packages music) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages rust-apps) #:use-module ((gnu services) #:select (service)) #:use-module ((guix gexp) @@ -198,7 +200,8 @@ "emacs-dockerfile-mode" "emacs-slack" "emacs-combobulate" - "emacs-prodigy")) + "emacs-prodigy" + "emacs-vertico-posframe")) (list emacs-oni-core emacs-oni-compilation emacs-oni-common-lisp @@ -234,11 +237,17 @@ emacs-oni-sql emacs-oni-logview emacs-oni-notmuch + emacs-oni-dumb-jump + ripgrep emacs-flycheck-phpstan emacs-vue-ts-mode + emacs-stillness-mode - shutdown-rofi))) + shutdown-rofi + + emacs-related-files + ))) (services (append home-zsh-services (list home-channels-service @@ -283,10 +292,12 @@ (service home-gpg-agent-service-type (home-gpg-agent-configuration - (ssh-support? #t) + (ssh-support? #f) (extra-content "allow-emacs-pinentry\n"))) + (service home-ssh-agent-service-type) + (service home-git-service-type (home-git-configuration (user-name "Tom Willemse") diff --git a/oni/home/config/pop-os/emacs.el b/oni/home/config/pop-os/emacs.el index c681c94..ffd0c79 100644 --- a/oni/home/config/pop-os/emacs.el +++ b/oni/home/config/pop-os/emacs.el @@ -46,7 +46,8 @@ ("ac" "Run Command" artisan-chanced-run-command) ("am" "Migrate" artisan-chanced-migrate) ("asc" "Create Saloon Connector" artisan-create-saloon-connector) - ("asr" "Create Saloon Request" artisan-create-saloon-request)] + ("asr" "Create Saloon Request" artisan-create-saloon-request) + ("aMs" "Create Settings Migration" artisan-create-settings-migration)] ["Commands" ;; ("t" "Test" artisan-test-transient) @@ -84,6 +85,14 @@ connector." (find-file good-file-name)) (vc-register))) +(defun artisan-create-settings-migration (name) + "Create a new saloon connector. +INTEGRATION is the related integration. NAME is the name of the saloon +connector." + (interactive "MName: ") + (let ((default-directory (expand-file-name "chanced" (project-root (project-current))))) + (shell-command (format "docker exec chanced-backend php artisan make:settings-migration %s ../common/database/settings/" (shell-quote-argument name))))) + (defun artisan-punt-composer-install () (interactive) (let ((default-directory (expand-file-name "punt" (project-root (project-current))))) @@ -394,41 +403,6 @@ Optional argument STOPP means stop on any defect." (find-file good-file-name) (vc-register))) -(require 'dashboard) -(dashboard-setup-startup-hook) -(run-with-idle-timer 300 t (lambda () (switch-to-buffer dashboard-buffer-name))) -(run-at-time "02:00" 86400 #'dashboard-open) -;;; -(setq dashboard-navigator-buttons `(((,(propertize " " 'display `(image :type svg :file ,(expand-file-name "search.svg" oni-gui-icons-dir) :ascent center :margin (5 . 0))) "Conversations" "Open pull requests" - (lambda (&rest _) - (browse-url "https://github.com/pulls?q=commenter%3Atomw-punt+review%3Achanges_requested+is%3Aopen")) - default "[" "]") - (,(propertize " " 'display `(image :type svg :file ,(expand-file-name "search.svg" oni-gui-icons-dir) :ascent center :margin (5 . 0))) "PRs" "Open pull requests" - (lambda (&rest _) - (browse-url "https://github.com/pulls?q=is%3Aopen+is%3Apr+org%3Ajuked-social+draft%3Afalse+review%3Anone+-author%3Aapp%2Fdependabot+-base%3Adev+-base%3Amain+-base%3Achanced_dev")) - default "[" "]")) - ((,(propertize " " 'display `(image :type svg :file ,(expand-file-name "search.svg" oni-gui-icons-dir) :ascent center :margin (5 . 0))) "back-end" "Unmerged into back-end" - (lambda (&rest _) - (browse-url "https://github.com/juked-social/social-api/compare/main...staging")) - default "[" "]") - (,(propertize " " 'display `(image :type svg :file ,(expand-file-name "search.svg" oni-gui-icons-dir) :ascent center :margin (5 . 0))) "chanced" "Unmerged into chanced front-end" - (lambda (&rest _) - (browse-url "https://github.com/juked-social/chanced-frontend/compare/main...staging")) - default "[" "]") - (,(propertize " " 'display `(image :type svg :file ,(expand-file-name "search.svg" oni-gui-icons-dir) :ascent center :margin (5 . 0))) "punt" "Unmerged into punt front-end" - (lambda (&rest _) - (browse-url "https://github.com/juked-social/punt-frontend/compare/main...staging")) - default "[" "]")))) -(setq dashboard-startup-banner "~/code/personal/dotfiles/oni/home/services/emacs/pop-os-logo.svg") -(setq dashboard-set-navigator t) -(setq dashboard-set-footer nil) -(setq dashboard-projects-show-base t) -(setq dashboard-recentf-show-base t) - -(add-hook 'server-after-make-frame-hook #'dashboard-open) -(add-hook 'dashboard-mode-hook 'olivetti-mode) -(add-hook 'dashboard-after-initialize-hook (lambda () (setq truncate-lines t))) - (setq browse-url-browser-function #'browse-url-generic) (setq browse-url-generic-args nil) (setq browse-url-generic-program "~/Downloads/glide/glide") @@ -485,810 +459,6 @@ Optional argument STOPP means stop on any defect." (sql-server "localhost") (sql-port 5432)))) -(with-eval-after-load 'web-mode - (defun web-mode-scan-blocks (reg-beg reg-end) - "Identifies blocks (with block-side, block-beg, block-end text properties)." - (save-excursion - - (let ((i 0) open close closing-string sub1 sub2 pos tagopen tmp delim-open delim-close part-beg part-end tagclose) - - (goto-char reg-beg) - - ;;(message "%S: %Sx%S" (point) reg-beg reg-end) - ;;(message "regexp=%S" web-mode-block-regexp) - (while (and (< i 2000) - (> reg-end (point)) - web-mode-block-regexp - (re-search-forward web-mode-block-regexp reg-end t) - (not (eobp))) - - (setq i (1+ i) - closing-string nil - close nil - tagopen (match-string 0) - open (match-beginning 0) - delim-open nil - delim-close nil - pos nil) - - (let ((l (length tagopen))) - (when (member (string-to-char tagopen) '(?\s ?\t)) - (setq tagopen (replace-regexp-in-string "\\`[ \t]*" "" tagopen)) - (setq open (+ open (- l (length tagopen)))) - (setq l (length tagopen)) - ) - (setq sub1 (substring tagopen 0 1) - sub2 (substring tagopen 0 (if (>= l 2) 2 1))) - ) - ;;(message " found block #(%S) at pos=(%S), part-type=(%S)" i open (get-text-property open 'part-side)) - (cond - - ((string= web-mode-engine "php") - (unless (member (char-after) '(?x ?X)) - (setq closing-string '("<\\?". "\\?>"))) - (cond - ((looking-at-p "<?php") - (setq delim-open "<?php") - (setq delim-close "?>")) - ((eq (char-after) ?\=) - (setq delim-open "<?=") - (setq delim-close "?>")) - (t - (setq delim-open "<?") - (setq delim-close "?>")) - ) ;cond - ) ;php - - ((string= web-mode-engine "erb") - (cond - ((string= sub2 "<%") - (setq closing-string '("<%". "%>") - delim-open "<%\\(==\\|[=-]\\)?" - delim-close "[-]?%>")) - (t - (setq closing-string "EOL" - delim-open "%")) - ) - ) ;erb - - ((string= web-mode-engine "django") - (cond - ((string= sub2 "{{") - (setq closing-string "EODQ" - ;;(setq closing-string '("{{" . "}}") - delim-open "{{" - delim-close "}}")) - ((string= sub2 "{%") - (setq closing-string "%}" - delim-open "{%[+-]?" - delim-close "[-]?%}")) - ((string= sub2 "{#") - (setq closing-string "#}")) - (t - (setq closing-string "EOL" - delim-open "#[#]?")) - ) - ) ;django - - ((string= web-mode-engine "anki") - (setq closing-string "}}" - delim-open "{{[#/^]?" - delim-close "}}") - ) ;anki - - ((string= web-mode-engine "ejs") - (setq closing-string "%>" - delim-open "<%[=-]?" - delim-close "[-]?%>") - ) ;ejs - - ((string= web-mode-engine "lsp") - (setq closing-string "%>" - delim-open "<%[%#]?" - delim-close "%>") - ) ;lsp - - ((string= web-mode-engine "mako") - (cond - ((and (string= tagopen "<%") - (member (char-after) '(?\s ?\n ?\!))) - (setq closing-string "%>" - delim-open "<%[!]?" - delim-close "%>")) - ((member sub2 '("<%" "</")) - (setq closing-string ">" - delim-open "</?%" - delim-close "/?>")) - ((string= sub2 "${") - (setq closing-string "}" - delim-open "${" - delim-close "}")) - (t - (setq closing-string "EOL" - delim-open "%")) - ) - ) ;mako - - ((string= web-mode-engine "cl-emb") - (cond - ((string= tagopen "<%#") - (setq closing-string "#%>")) - ((string= sub2 "<%") - (setq closing-string "%>" - delim-open "<%[=%]?" - delim-close "%>")) - ) - ) ;cl-emb - - ((string= web-mode-engine "artanis") - (cond - ((string= tagopen "<%;") - (setq closing-string "%>")) - ((string= tagopen "<%#|") - (setq closing-string "|#%>")) - ((string= sub2 "<@") - (setq closing-string "%>" - delim-open "<@\\(css\\|icon\\|include\\|js\\)" - delim-close "%>")) - ((string= sub2 "<%") - (setq closing-string "%>" - delim-open "<%[=]?" - delim-close "%>")) - ) - ) ;artanis - - ((string= web-mode-engine "elixir") - (cond - ((member (char-after) '(?\#)) - (setq closing-string "%>")) - (t - (setq closing-string "%>" - delim-open "<%[=%]?" - delim-close "%>")) - ) - ) ;elixir - - ((string= web-mode-engine "mojolicious") - (cond - ((string= tagopen "<%#") - (setq closing-string "%>")) - ((string= sub2 "<%") - (setq closing-string "%>" - delim-open "<%\\(==\\|[=%]\\)?" - delim-close "%>")) - ((string= sub2 "%#") - (setq closing-string "EOL")) - (t - (setq closing-string "EOL" - delim-open "%\\(==\\|[=%]\\)?")) - ) - ) ;mojolicious - - ((string= web-mode-engine "ctemplate") - (cond - ((member tagopen '("{{{" "{{~")) - (setq closing-string "}~?}}" - delim-open "{{~?{" - delim-close "}~?}}") - ) - ((string= tagopen "{~{") - (setq closing-string "}~?}" - delim-open "{~{" - delim-close "}~?}") - ) - ((string= tagopen "{{!") - (setq closing-string (if (looking-at-p "--") "--}}" "}}")) - ) - ((string= sub2 "{{") - (setq closing-string "}~?}" - delim-open "{{[>#/%^&]?" - delim-close "}~?}")) - (t - (setq closing-string "}}" - delim-open "${{" - delim-close "}}")) - ) - ) ;ctemplate - - ((string= web-mode-engine "antlers") - (cond - ((string= tagopen "{{$") - (setq closing-string "$}}" - delim-open "{{$" - delim-close "$}}") - ) - ((string= tagopen "{{?") - (setq closing-string "?}}" - delim-open "{{?" - delim-close "?}}") - ) - ((string= tagopen "{{$") - (setq closing-string "$}}" - delim-open "{{$" - delim-close "$}}") - ) - ((string= sub2 "{{") - (setq closing-string "}}" - delim-open "{{" - delim-close "}}")) - ) - ) ;antlers - - ((string= web-mode-engine "astro") - (cond - ((string= tagopen "---") - (setq closing-string "---" - delim-open "---" - delim-close "---") - ) - ) - ) ;astro - - ((string= web-mode-engine "aspx") - (setq closing-string "%>" - delim-open "<%[:=#@$]?" - delim-close "%>") - ) ;aspx - - ((string= web-mode-engine "asp") - (cond - ((string= sub2 "<%") - (setq closing-string "%>" - delim-open "<%[:=#@$]?" - delim-close "%>")) - (t - (setq closing-string ">" - delim-open "</?" - delim-close "/?>")) - ) - ) ;asp - - ((string= web-mode-engine "jsp") - (cond - ((looking-at-p "--") - (setq closing-string "--%>")) - ((string= sub2 "<%") - (setq closing-string "%>" - delim-open "<%\\([!=@]\\|#=\\)?" - delim-close "[-]?%>")) - ((string= sub2 "${") - (setq closing-string "}" - delim-open "${" - delim-close "}")) - ) - ) ;jsp - - ((string= web-mode-engine "clip") - (setq closing-string ">" - delim-open "</?" - delim-close "/?>") - ) ;clip - - ((string= web-mode-engine "perl") - (setq closing-string ">" - delim-open "</?" - delim-close "/?>") - ) ;perl - - ((string= web-mode-engine "blade") - (cond - ((string= tagopen "{{-") - (setq closing-string "--}}")) - ((string= tagopen "{!!") - (setq closing-string "!!}" - delim-open "{!!" - delim-close "!!}")) - ((string= tagopen "@{{") - (setq closing-string nil)) - ((string= tagopen "{{{") - (setq closing-string "}}}" - delim-open "{{{" - delim-close "}}}")) - ((string= sub2 "{{") - (setq closing-string "}}" - delim-open "{{" - delim-close "}}")) - ((looking-at-p "[[:alnum:]]+\\.[[:alpha:]]+") - ) - ((string= sub1 "@") - (setq closing-string "EOB" - delim-open "@")) - ((looking-at-p "[[:alnum:]]+(") - (setq closing-string ")" - delim-open "@")) - ) - ;;(message "closing-string=%S delim-open=%S delim-close=%S" closing-string delim-open delim-close) - ) ;blade - - ((string= web-mode-engine "smarty") - (cond - ((string= tagopen "{*") - (setq closing-string "*}") - ) - ((string= tagopen "{#") - (setq closing-string "#}" - delim-open "{#" - delim-close "#}") - ) - (t - (setq closing-string (cons "{" "}") - delim-open "{/?" - delim-close "}") - ) ;t - ) ;cond - ) ;smarty - - ((string= web-mode-engine "hero") - (setq closing-string "%>" - delim-open "<%==?\\([biufsv]\\|bs\\)?\\|<%[:~@+!]?" - delim-close "%>") - ) ;hero - - ((string= web-mode-engine "xoops") - (cond - ((string= tagopen "<{*") - (setq closing-string "*}>") - ) - ((string= tagopen "<{#") - (setq closing-string "#}>" - delim-open "<{#" - delim-close "#}>") - ) - (t - (setq closing-string (cons "<{" "}>") - delim-open "<{/?" - delim-close "}>") - ) ;t - ) ;cond - ) ;xoops - - ((string= web-mode-engine "web2py") - (setq closing-string "}}" - delim-open "{{[=]?" - delim-close "}}") - ) ;web2py - - ((string= web-mode-engine "expressionengine") - (cond - ((string= sub2 "{!--") - (setq closing-string "--}")) - (t - (setq closing-string '("{". "}") - delim-open "{/?" - delim-close "}") - ) - ) - ) ;expressionengine - - ((string= web-mode-engine "dust") - (cond - ((string= sub2 "{!") - (setq closing-string "!}")) - (t - (setq closing-string '("{". "}") - delim-open "{[#/:?@><+^]?" - delim-close "/?}") - ) - ) - ) ;dust - - ((string= web-mode-engine "svelte") - (cond - ((string= sub2 "{!") - (setq closing-string "!}")) - ((string= sub2 "{}") - (setq closing-string nil - delim-open nil - delim-close nil)) - (t - (setq closing-string '("{". "}") - delim-open "{[#/:?@><+^]?" - delim-close "/?}") - ) - ) - ) ;svelte - - ((string= web-mode-engine "closure") - (cond - ((string= sub2 "//") - (setq closing-string "EOL") - ) - ((string= sub2 "/*") - (setq closing-string "*/") - ) - (t - (setq closing-string "}" - delim-open "{/?" - delim-close "/?}") - ) - ) - ) ;closure - - ((string= web-mode-engine "go") - (setq closing-string "}}" - delim-open "{{-?" - delim-close "-?}}") - ) ;go - - ((string= web-mode-engine "angular") - (setq closing-string "}}" - delim-open "{{" - delim-close "}}") - ) ;angular - - ((string= web-mode-engine "vue") - (cond - ((string-match-p "[:@][-[:alpha:].]+=\"" tagopen) - (setq closing-string "\"" - delim-open tagopen - delim-close "\"")) - ((string= tagopen "{{") - (setq closing-string "}}" - delim-open "{{" - delim-close "}}"))) - ) ;vue - - ((string= web-mode-engine "mason") - (cond - ((and (member sub2 '("<%" "</")) - (looking-at "[[:alpha:]]+")) - (if (member (match-string-no-properties 0) '("after" "around" "augment" "before" "def" "filter" "method" "override")) - (setq closing-string ">" - delim-open "<[/]?%" - delim-close ">") - (setq closing-string (concat "</%" (match-string-no-properties 0) ">") - delim-open "<[^>]+>" - delim-close "<[^>]+>") - ) ;if - ) - ((and (string= sub2 "<%") - (eq (char-after) ?\s)) - (setq closing-string "%>" - delim-open "<%" - delim-close "%>")) - ((string= tagopen "</&") - (setq closing-string ">" - delim-open "</&" - delim-close ">") - ) - ((string= sub2 "<&") - (setq closing-string "&>" - delim-open "<&[|]?" - delim-close "&>")) - (t - (setq closing-string "EOL" - delim-open "%")) - ) - ) ;mason - - ((string= web-mode-engine "underscore") - (setq closing-string "%>" - delim-open "<%" - delim-close "%>") - ) ;underscore - - ((string= web-mode-engine "template-toolkit") - (cond - ((string= tagopen "%%#") - (setq closing-string "EOL")) - ((string= tagopen "[%#") - (setq closing-string "%]")) - (t - (setq closing-string "%]" - delim-open "\\[%[-+]?" - delim-close "[-=+]?%\\]")) - ) - ) ;template-toolkit - - ((string= web-mode-engine "freemarker") - (cond - ((and (string= sub2 "<#") (eq (char-after) ?\-)) - (setq closing-string "-->")) - ((string= sub1 "<") - (setq closing-string ">" - delim-open "</?[#@]" - delim-close "/?>")) - ((string= sub1 "[") - (setq closing-string "]" - delim-open "\\[/?[#@]" - delim-close "/?\\]")) - (t - (setq closing-string "}" - delim-open "${" - delim-close "}")) - ) - ) ;freemarker - - ((string= web-mode-engine "velocity") - (cond - ((string= sub2 "##") - (setq closing-string "EOL")) - ((string= sub2 "#*") - (setq closing-string "*#")) - (t - (setq closing-string "EOV" - delim-open "#")) - ) - ) ;velocity - - ((string= web-mode-engine "razor") - (cond - ((string= sub2 "@@") - (forward-char 2) - (setq closing-string nil)) - ((string= sub2 "@*") - (setq closing-string "*@")) - ((string= sub1 "@") - (setq closing-string "EOR" - delim-open "@")) - ((and (string= sub1 "}") - (looking-at-p "[ ]*\n")) - ;;(setq closing-string "EOC") - (save-excursion - (let (paren-pos) - (setq paren-pos (web-mode-part-opening-paren-position (1- (point)))) - (if (and paren-pos (get-text-property paren-pos 'block-side)) - (setq closing-string "EOC") - (setq closing-string nil) - ) ;if - ) ;let - ) ;save-excursion - ;;(message "%s %S %S" sub2 (point) (get-text-property (point) 'part-side)) - ) - ((string= sub1 "}") - ;;(message "%s: %s" (point) sub1) - (save-excursion - (let (paren-pos) - (setq paren-pos (web-mode-part-opening-paren-position (1- (point)))) - (if (and paren-pos (get-text-property paren-pos 'block-side)) - (setq closing-string "EOR") - (setq closing-string nil) - ) ;if - ) ;let - ) ;save-excursion - ) ;case } - ) ;cond - ) ;razor - - ((and (string= web-mode-engine "riot") - (not (get-text-property open 'part-side))) - (setq closing-string (if (string= tagopen "{") "}" "/// end script") - delim-open "{" - delim-close "}") - ) ;riot - - ((string= web-mode-engine "spip") - (cond - ((and (string= sub1 "#") - (looking-at "[A-Z0-9_]+")) - (setq closing-string (match-string-no-properties 0))) - ((string= sub1 "(") - (setq closing-string '("(" . ")"))) - ((string= sub1 "{") - (setq closing-string '("{" . "}"))) - ((string= sub2 "<:") - (setq closing-string ":>")) - (t - (setq closing-string "]")) - )) - - ((string= web-mode-engine "marko") - (setq closing-string "}" - delim-open "${" - delim-close "}") - ) ;marko - - ) ;cond - - (when closing-string - (cond - - ((listp closing-string) - (cond - ((web-mode-rsf-balanced (car closing-string) (cdr closing-string) reg-end t) - (setq close (match-end 0) - pos (point)) - ) - ((and (string= web-mode-engine "php") - (string= "<?" sub2)) - - (if (or (text-property-not-all (1+ open) (point-max) 'tag-beg nil) - (text-property-not-all (1+ open) (point-max) 'block-beg nil) - (looking-at-p "[ \t\n]*<")) - (setq close nil - delim-close nil - pos (point)) - (setq close (point-max) - delim-close nil - pos (point-max)) - ) ;if - ) ;case - ) ;cond - ) ;case listp - - ((and (string= web-mode-engine "smarty") - (string= closing-string "}")) - (goto-char open) - (setq tmp (web-mode-closing-delimiter-position - "}" - (point) - (line-end-position))) - (if tmp - (setq tmp (1+ tmp)) - (setq tmp (line-end-position))) - (goto-char tmp) - (setq close (point) - pos (point)) - ) - - ((and (member web-mode-engine '("closure")) - (string= closing-string "}")) - (when (web-mode-closure-skip reg-beg reg-end) - (setq close (point) - pos (point)) - ;;(message "close=%S pos=%S" close pos) - ) ;when - ) - - ((string= closing-string "EOB") - (web-mode-blade-skip open) - (setq close (point) - pos (point))) - - ((string= closing-string "EOL") - (end-of-line) - (setq close (point) - pos (point))) - - ((string= closing-string "EOC") - (setq close (point) - pos (point))) - - ((string= closing-string "EODQ") - (when (web-mode-django-skip reg-beg reg-end) - (setq close (point) - pos (point)) - )) - - ((string= closing-string "EOR") - (web-mode-razor-skip open) - (setq close (if (> (point) reg-end) reg-end (point)) - pos (if (> (point) reg-end) reg-end (point))) - (goto-char pos)) - - ((string= closing-string "EOV") - (web-mode-velocity-skip open) - (setq close (point) - pos (point))) - - ((and (member web-mode-engine '("ctemplate")) - (re-search-forward closing-string reg-end t)) - (setq close (match-end 0) - pos (point))) - - ((and (member web-mode-engine '("antlers")) - (re-search-forward closing-string reg-end t)) - (setq close (match-end 0) - pos (point))) - - ((and (member web-mode-engine '("astro")) - (re-search-forward closing-string reg-end t)) - (setq close (match-end 0) - pos (point))) - - ((search-forward closing-string reg-end t) - (setq close (match-end 0) - pos (point))) - ) ;cond - - (when (and close (>= reg-end pos)) - ;;(message "pos(%S) : open(%S) close(%S)" pos open close) - (put-text-property open (1+ open) 'block-beg 0) - (put-text-property open (1+ open) 'block-controls 0) - (put-text-property open close 'block-side t) - (put-text-property (1- close) close 'block-end t) - (when delim-open - (web-mode-block-delimiters-set open close delim-open delim-close)) - (web-mode-block-scan open close) - (cond - ((and (string= web-mode-engine "erb") - (looking-at-p "<%= javascript_tag do %>")) - (setq tagopen "<%= javascript_tag do %>")) - ((and (string= web-mode-engine "mojolicious") - (looking-at-p "%= javascript begin")) - (setq tagopen "%= javascript begin")) - ((and (string= web-mode-engine "mako") - (looking-at-p "<%block filter=\"collect_js\">")) - (setq tagopen "<%block filter=\"collect_js\">")) - ((and (string= web-mode-engine "mako") - (looking-at-p "<%block filter=\"collect_css\">")) - (setq tagopen "<%block filter=\"collect_css\">")) - ((and (string= web-mode-engine "django") - (looking-at-p "{% javascript %}")) - (setq tagopen "{% javascript %}")) - ((and (string= web-mode-engine "django") - (looking-at-p "{% schema %}")) - (setq tagopen "{% schema %}")) - ((and (string= web-mode-engine "django") - (looking-at-p "{% stylesheet %}")) - (setq tagopen "{% stylesheet %}")) - ) - ;;(message "%S %s" (point) tagopen) - (when (and (member tagopen '("<r:script" "<r:style" - "<c:js" "<c:css" - "<%= javascript_tag do %>" - "<%block filter=\"collect_js\">" - "<%block filter=\"collect_css\">" - "{% javascript %}" - "{% schema %}" - "{% stylesheet %}" - "%= javascript begin" - "---")) - (setq part-beg close) - (setq tagclose - (cond - ((string= tagopen "<r:script") "</r:script") - ((string= tagopen "<r:style") "</r:style") - ((string= tagopen "<c:js") "</c:js") - ((string= tagopen "<c:css") "</c:css") - ((string= tagopen "{% javascript %}") "{% endjavascript %}") - ((string= tagopen "{% schema %}") "{% endschema %}") - ((string= tagopen "{% stylesheet %}") "{% endstylesheet %}") - ((string= tagopen "%= javascript begin") "% end") - ((string= tagopen "---") "---") - ((string= tagopen "<%= javascript_tag do %>") "<% end %>") - ((member tagopen '("<%block filter=\"collect_js\">" - "<%block filter=\"collect_css\">")) "</%block") - )) - (web-mode-sf tagclose) - (setq part-end (match-beginning 0)) - (> part-end part-beg)) - ;;(message "tagopen=%S tagclose=%S end=%S" tagopen tagclose (point)) - (put-text-property part-beg part-end - 'part-side - (cond - ((member tagopen '("<r:style" "<c:css" "<%block filter=\"collect_css\">" "{% stylesheet %}")) 'css) - (t 'javascript))) - (setq pos part-beg - part-beg nil - part-end nil) - ) ;when - ) ;when close - - (if pos (goto-char pos)) - - ) ;when closing-string - - ) ;while - - (cond - ((>= i 2000) - (message "scan-blocks ** warning (%S) **" i)) - ((string= web-mode-engine "razor") - (web-mode-block-foreach reg-beg reg-end 'web-mode-block-scan)) - ((string= web-mode-engine "django") - (web-mode-scan-engine-comments reg-beg reg-end - "{% comment %}" "{% endcomment %}")) - ((string= web-mode-engine "mako") - (web-mode-scan-engine-comments reg-beg reg-end - "<%doc>" "</%doc>")) - ((string= web-mode-engine "mason") - (web-mode-scan-engine-comments reg-beg reg-end - "<%doc>" "</%doc>")) - ) ;cond - - ))) - - (setf (map-elt web-mode-engine-open-delimiter-regexps "vue") - "{{\\|[:@][-[:alpha:].]+=\"")) - -(require 'oni-js) - -(with-eval-after-load 'sh-script (require 'oni-sh)) -(with-eval-after-load 'sql (require 'oni-sql)) -(with-eval-after-load 'outline (require 'oni-outline)) -(with-eval-after-load 'logview (require 'oni-logview)) - (eval-when-compile (require 'magit-section)) diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm index d9da737..357bafa 100644 --- a/oni/home/config/rincewind.scm +++ b/oni/home/config/rincewind.scm @@ -63,8 +63,6 @@ #:use-module ((nongnu packages emacs) #:select (emacs-org-roam-ui)) #:use-module (oni home config common) - #:use-module ((oni home services autokey) - #:select (home-autokey-service-type)) #:use-module ((oni home services copyq) #:select (home-copyq-service-type)) #:use-module ((oni home services dunst) @@ -113,6 +111,7 @@ home-stumpwm-stumptray-configuration)) #:use-module ((oni home services syncthing) #:select (home-syncthing-service-type)) + #:use-module (oni home services terminals) #:use-module ((oni home services utilities) #:select (home-inkplate-display-service-type)) #:use-module ((oni home services zsh) @@ -251,8 +250,7 @@ (packages (append foreign-distro-compatibility-packages archlinux-compatibility-packages - (list easytag - (specification->package+output "font-fantasque-sans") + (list (specification->package+output "font-fantasque-sans") (specification->package+output "font-comic-neue") (specification->package+output "font-dosis") (specification->package "zathura") @@ -473,6 +471,7 @@ (service home-stumpwm-service-type (home-stumpwm-configuration (package stumpwm+swank) + (locker-program "/usr") (configurations (list (local-file "../services/stumpwm/stumpwm.lisp"))))) (service home-stumpwm-gaps-service-type @@ -495,7 +494,6 @@ (new-ignore '(".nnmaildir" ".mbsyncstate" ".uidvalidity" ".mbsyncstate.journal" ".mbsyncstate.new")))) - (service home-autokey-service-type) (service home-copyq-service-type) (service home-msmtp-service-type @@ -571,4 +569,9 @@ ("sidebar.visibility" "hide-sidebar") ("ui.key.menuAccessKeyFocuses" #f))))) - (service home-udiskie-service-type))))) + (service home-udiskie-service-type) + + (service home-wezterm-service-type + (home-wezterm-configuration + (configurations + (list (local-file "../../../wezterm/.config/wezterm/wezterm.lua"))))))))) diff --git a/oni/home/services/emacs/org-mem.el b/oni/home/services/emacs/org-mem.el index 55b521f..0c16308 100644 --- a/oni/home/services/emacs/org-mem.el +++ b/oni/home/services/emacs/org-mem.el @@ -2,5 +2,9 @@ :ensure nil :init (setq org-mem-watch-dirs (list (expand-file-name "~/documents/gtd/")) - org-mem-do-sync-with-org-id t) - (org-mem-updater-mode)) + org-mem-do-sync-with-org-id t + org-mem-suffixes '(".org")) + (org-mem-updater-mode) + :config + (add-to-list 'org-mem-exclude "health/harp-") + (add-to-list 'org-mem-exclude "archive/")) diff --git a/oni/home/services/freedesktop.scm b/oni/home/services/freedesktop.scm new file mode 100644 index 0000000..8b29fc6 --- /dev/null +++ b/oni/home/services/freedesktop.scm @@ -0,0 +1,45 @@ +(define-module (oni home services freedesktop) + #:use-module (gnu services configuration) + #:use-module (gnu packages freedesktop) + #:use-module (gnu home services) + #:use-module (gnu home services utils) + #:use-module (gnu home services shepherd) + #:use-module (guix packages) + #:use-module (guix gexp) + + #:export (home-udiskie-service-type + home-udiskie-configuration)) + +(define-configuration home-udiskie-configuration + (package + (package udiskie) + "Package to use for setting udiskie")) + +(define (add-udiskie-packages config) + (list (home-udiskie-configuration-package config))) + +(define (home-udiskie-shepherd-service config) + (list + (shepherd-service + (documentation "Start udiskie") + (provision '(udiskie)) + (auto-start? #t) + (start + #~(make-forkexec-constructor + (list #$(file-append (home-udiskie-configuration-package config) "/bin/udiskie")) + #:log-file (format #f "~a/.local/var/log/udiskie.log" (getenv "HOME")))) + (stop #~(make-kill-destructor))))) + +(define home-udiskie-service-type + (service-type + (name 'home-udiskie) + (extensions + (list (service-extension + home-profile-service-type + add-udiskie-packages) + (service-extension + home-shepherd-service-type + home-udiskie-shepherd-service))) + (compose identity) + (default-value (home-udiskie-configuration)) + (description "Install and configure udiskie."))) diff --git a/oni/home/services/stumpwm/stumpwm.lisp b/oni/home/services/stumpwm/stumpwm.lisp index 93484a4..45f4664 100644 --- a/oni/home/services/stumpwm/stumpwm.lisp +++ b/oni/home/services/stumpwm/stumpwm.lisp @@ -165,7 +165,7 @@ after it has been unlocked." (0 t t :class "teams-for-linux" :create t) (0 t t :class "Slack")) -(sb-ext:run-program *shell-program* '("-c" "feh --bg-center ~/pictures/wallpaper/5120x1440/wallhaven-v9ydgl.jpg")) +(sb-ext:run-program *shell-program* '("-c" "feh --bg-center ~/pictures/wallpaper/5120x1440/Dragonfish-restaurant_by_David_Revoy.jpg")) (define-key *top-map* (kbd "s-.") "gnext") (define-key *top-map* (kbd "s-,") "gprev") diff --git a/oni/home/services/terminals.scm b/oni/home/services/terminals.scm new file mode 100644 index 0000000..7a86c60 --- /dev/null +++ b/oni/home/services/terminals.scm @@ -0,0 +1,40 @@ +(define-module (oni home services terminals) + #:use-module (gnu home services) + #:use-module (gnu packages terminals) + #:use-module (gnu services configuration) + #:use-module (guix gexp) + #:use-module (guix packages) + + #:export (home-wezterm-configuration + home-wezterm-service-type)) + +(define-configuration home-wezterm-configuration + (package + (package wezterm) + "Package to use for setting wezterm") + (configurations + (text-config '()) + "The rest of the configurations")) + +(define (add-wezterm-packages config) + (list (home-wezterm-configuration-package config))) + +(define (home-wezterm-config-files config) + `(("wezterm/wezterm.lua" + ,(mixed-text-file + "config" + (serialize-text-config config (home-wezterm-configuration-configurations config)))))) + +(define home-wezterm-service-type + (service-type + (name 'home-wezterm) + (extensions + (list (service-extension + home-profile-service-type + add-wezterm-packages) + (service-extension + home-xdg-configuration-files-service-type + home-wezterm-config-files))) + (compose identity) + (default-value (home-wezterm-configuration)) + (description "Install and configure wezterm."))) diff --git a/oni/home/services/zsh.scm b/oni/home/services/zsh.scm index aa2eb60..582c4dc 100644 --- a/oni/home/services/zsh.scm +++ b/oni/home/services/zsh.scm @@ -1,13 +1,13 @@ (define-module (oni home services zsh) #:use-module (ice-9 string-fun) #:use-module (gnu services configuration) + #:use-module (gnu packages rust-apps) #:use-module (gnu packages shellutils) #:use-module (gnu home services) #:use-module (gnu home services shells) #:use-module (gnu home services utils) #:use-module (guix packages) #:use-module (guix gexp) - #:use-module (rosenthal packages rust-apps) #:use-module (oni packages zsh) #:export (home-zsh-autosuggestions-service-type diff --git a/oni/packages/emacs-config.scm b/oni/packages/emacs-config.scm index 6794a62..fd1bbd4 100644 --- a/oni/packages/emacs-config.scm +++ b/oni/packages/emacs-config.scm @@ -38,7 +38,7 @@ (define-public emacs-oni-config (let - ((commit "b3b63e7322acd6fe373454bf5c8a41a97f000938") + ((commit "09a4099586657170cbdcff071b2d0fac5ed133b7") (revision "0")) (package (name "emacs-oni-config") (version (git-version "0.0.1" revision commit)) @@ -52,7 +52,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0nj8gyzvajza2bsq20a2k1hljsmqw6a18l6bakff4d8l0wbmamzn")))) + "1lhn76r08b2zin45xjpzq60am8jw445s73b0yl4cdq107g0cbk0i")))) (build-system emacs-build-system) (home-page "https://code.ryuslash.org/emacs-config/") (synopsis "My Emacs configuration") @@ -311,7 +311,11 @@ Emacs"))) (inherit emacs-oni-config) (name "emacs-oni-yasnippet") (arguments - '(#:include '("oni-yasnippet.el"))) + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-yasnippet + (λ _ (chdir "oni-yasnippet")))) + #:include '("\\.el$" "^snippets\\/"))) (propagated-inputs `(("emacs-yasnippet" ,emacs-yasnippet) ("emacs-diminish" ,emacs-diminish))) @@ -323,15 +327,10 @@ Emacs"))) (inherit emacs-oni-config) (name "emacs-oni-bats") (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir-oni-bats - (λ _ (chdir "oni-bats")))) - #:include '("\\.el$" "^snippets\\/bats-mode\\/"))) + '(#:include '("\\.el$"))) (propagated-inputs `(("emacs-bats" ,emacs-bats) ("emacs-oni-sh" ,emacs-oni-sh) - ("emacs-oni-yasnippet" ,emacs-oni-yasnippet) ("bats" ,bats))) (synopsis "My Emacs Bats coding configuration") (description "This package provides my configuration for coding in Bats"))) @@ -346,15 +345,13 @@ Emacs"))) (add-after 'unpack 'chdir-oni-org (λ _ (chdir "oni-org")))) #:include '("\\.el$" - "^snippets\\/org-mode\\/" "^capture-templates\\/" "^icons\\/") ;; The default #:emacs (emacs-minimal) doesn't include `range.el' and ;; throws an error while trying to byte-compile oni-org. #:emacs ,emacs)) (propagated-inputs - (list emacs-oni-yasnippet - emacs-oni-hydra + (list emacs-oni-hydra my-emacs-org-roam emacs-org emacs-org-contrib @@ -429,14 +426,9 @@ Emacs"))) (inherit emacs-oni-config) (name "emacs-oni-python") (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir-oni-python - (λ _ (chdir "oni-python")))) - #:include '("\\.el$" "^snippets\\/python-mode\\/"))) + '(#:include '("oni-python\\.el$"))) (propagated-inputs - (list emacs-oni-yasnippet - emacs-oni-company + (list emacs-oni-company emacs-oni-flycheck emacs-oni-hydra emacs-oni-lsp @@ -521,14 +513,7 @@ Emacs"))) (inherit emacs-oni-config) (name "emacs-oni-conf") (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir-oni-conf - (λ _ (chdir "oni-conf")))) - #:include '("\\.el$" - "^snippets\\/conf-mode\\/"))) - (propagated-inputs - `(("emacs-oni-yasnippet" ,emacs-oni-yasnippet))) + '(#:include '("oni-conf\\.el$"))) (synopsis "My Emacs Conf mode configuration") (description "This pakcage provides my configuation for Conf mode"))) @@ -562,16 +547,11 @@ Emacs"))) (inherit emacs-oni-config) (name "emacs-oni-csharp") (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir-oni-csharp - (λ _ (chdir "oni-csharp")))) - #:include '("\\.el$" "^snippets\\/"))) + '(#:include '("oni-csharp\\.el$"))) (propagated-inputs `(("emacs-csharp-mode" ,emacs-csharp-mode) ("emacs-oni-company" ,emacs-oni-company) ("emacs-oni-flycheck" ,emacs-oni-flycheck) - ("emacs-oni-yasnippet" ,emacs-oni-yasnippet) ("emacs-oni-hydra" ,emacs-oni-hydra) ("emacs-oni-lsp" ,emacs-oni-lsp) ("emacs-oni-smartparens" ,emacs-oni-smartparens))) @@ -583,16 +563,11 @@ Emacs"))) (inherit emacs-oni-config) (name "emacs-oni-css") (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir-oni-css - (λ _ (chdir "oni-css")))) - #:include '("\\.el$" "^snippets\\/"))) + '(#:include '("oni-css\\.el$"))) (propagated-inputs `(("emacs-oni-company" ,emacs-oni-company) ("emacs-oni-hydra" ,emacs-oni-hydra) - ("emacs-rainbow-mode" ,emacs-rainbow-mode) - ("emacs-oni-yasnippet" ,emacs-oni-yasnippet))) + ("emacs-rainbow-mode" ,emacs-rainbow-mode))) (synopsis "My Emacs CSS configuration") (description "This package provides my configuration for writing CSS."))) @@ -612,16 +587,11 @@ Emacs"))) (inherit emacs-oni-config) (name "emacs-oni-elisp") (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir-oni-elisp - (λ _ (chdir "oni-elisp")))) - #:include '("\\.el$" "^snippets\\/"))) + '(#:include '("oni-elisp\\.el$"))) (propagated-inputs `(("emacs-oni-company" ,emacs-oni-company) ("emacs-oni-flycheck" ,emacs-oni-flycheck) ("emacs-oni-paredit" ,emacs-oni-paredit) - ("emacs-oni-yasnippet" ,emacs-oni-yasnippet) ("emacs-oni-hydra" ,emacs-oni-hydra) ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters) ("emacs-nameless" ,emacs-nameless) @@ -678,7 +648,6 @@ Emacs"))) (propagated-inputs (list emacs-hy-mode emacs-oni-paredit - emacs-oni-yasnippet emacs-rainbow-delimiters)) (synopsis "My Hy configuration") (description "This package provides my configuration for Hy."))) @@ -741,7 +710,7 @@ Emacs"))) (arguments '(#:include '("oni-epub\\.el$"))) (propagated-inputs - (list emacs-nov-el)) + (list emacs-nov)) (synopsis "My configuration for reading ePub files") (description "This package provides my configuration for reading ePub files."))) @@ -795,13 +764,7 @@ Emacs"))) (inherit emacs-oni-config) (name "emacs-oni-html") (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir-oni-html - (λ _ (chdir "oni-html")))) - #:include '("\\.el$" "^snippets\\/"))) - (propagated-inputs - (list emacs-oni-yasnippet)) + '(#:include '("oni-html\\.el$"))) (synopsis "My HTML configuration") (description "This package provides my configuration for HTML."))) @@ -865,14 +828,9 @@ Emacs"))) (inherit emacs-oni-config) (name "emacs-oni-nxml") (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir-oni-nxml - (λ _ (chdir "oni-nxml")))) - #:include '("\\.el$" "^snippets\\/"))) + '(#:include '("oni-nxml\\.el$"))) (propagated-inputs - (list emacs-oni-yasnippet - emacs-reformatter)) + (list emacs-reformatter)) (synopsis "My XML configuration") (description "This package provides my configuration for writing XML."))) @@ -970,12 +928,11 @@ Emacs"))) (modify-phases %standard-phases (add-after 'unpack 'chdir-oni-php (λ _ (chdir "oni-php")))) - #:include '("\\.el$" "^snippets\\/" "^scripts\\/"))) + #:include '("\\.el$" "^scripts\\/"))) (propagated-inputs (list emacs-php-mode - emacs-oni-yasnippet emacs-oni-flycheck - emacs-oni-company + emacs-oni-corfu emacs-oni-hydra emacs-ggtags emacs-fic-mode @@ -1053,3 +1010,29 @@ Emacs"))) (list emacs-logview)) (description "This package provides my configuration for logview mode."))) + +(define-public emacs-oni-dumb-jump + (package + (inherit emacs-oni-config) + (name "emacs-oni-dumb-jump") + (arguments + '(#:include '("oni-dumb-jump\\.el$"))) + (synopsis "My configuration for dumb-jump") + (propagated-inputs + (list emacs-dumb-jump)) + (description + "This package provides my configuration for dumb-jump"))) + +(define-public emacs-oni-corfu + (package + (inherit emacs-oni-config) + (name "emacs-oni-corfu") + (arguments + '(#:include '("oni-corfu\\.el$"))) + (synopsis "My configuration for corfu") + (propagated-inputs + (list emacs-corfu + emacs-cape + emacs-oni-prescient)) + (description + "This package provides my configuration for corfu."))) diff --git a/oni/packages/emacs.scm b/oni/packages/emacs.scm index 105a855..5629998 100644 --- a/oni/packages/emacs.scm +++ b/oni/packages/emacs.scm @@ -610,7 +610,7 @@ dot-separated path form like @code{jobs.build.docker} and (license license:gpl3)))) (define-public emacs-yoshi-theme - (let ((commit "6e436a34cc56a73eec49f8d5f8fbcfcaa5cae808") + (let ((commit "dc7b512dbe29db8f61f1485dad4213f5c5fd2669") (revision "0")) (package (name "emacs-yoshi-theme") @@ -623,7 +623,7 @@ dot-separated path form like @code{jobs.build.docker} and (method git-fetch) (file-name (git-file-name name version)) (sha256 - (base32 "1xidzl08sf2hndd7jazc1f5b9gwnbasq7p5901bbbnr898b7r407")))) + (base32 "0qjcqrj1k8mlkjlahjn83l7hq76dmjvn1n9xnj0rz3drk114wxb0")))) (build-system emacs-build-system) (arguments `(#:include '("icons/*" . ,%default-include))) @@ -843,7 +843,7 @@ flycheck-phpstan) (flycheck-mode t)) (add-hook php-mode-hook my-php-mode-setup). (license #f))) (define-public emacs-org-mem - (let ((commit "0a33650ccb79c9bd49d7598fbb8f09beb2153350") + (let ((commit "07094dac902e452d59533e4d01e8177afaa0cfd1") (revision "0")) (package (name "emacs-org-mem") @@ -856,9 +856,12 @@ flycheck-phpstan) (flycheck-mode t)) (add-hook php-mode-hook my-php-mode-setup). (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0jrisa0w6khiv2mndhyrr0yjsg191yix4gpj2g57nvp80l3xbnbl")))) + (base32 "09c2s9yz3288g0z66wxqhhk7nwwqri7wgprk3k9h41l0l2hswssc")))) (build-system emacs-build-system) - (propagated-inputs (list emacs-el-job emacs-emacsql emacs-llama)) + (propagated-inputs (list emacs-el-job + emacs-emacsql + emacs-llama + emacs-truename-cache)) (home-page "https://github.com/meedstrom/org-node") (synopsis "Cache metadata on all Org files") (description @@ -1019,3 +1022,82 @@ enabled.") (synopsis "Emacs major mode for Vue based on Tree-sitter") (description "Emacs major mode for Vue based on Tree-sitter") (license license:gpl3+)))) + +(define-public emacs-stillness-mode + (package + (name "emacs-stillness-mode") + (version "20250307.1608") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/neeasade/stillness-mode.el") + (commit "05029febdb451941ed218e6ddbef5294776e31d4"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06gj5fjjq922fafn2wi8i0c6sx3s95zi17crmgv2dy0k1f4ljvkz")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-dash)) + (home-page "https://github.com/neeasade/stillness-mode.el") + (synopsis "Prevent windows from jumping on minibuffer activation") + (description + "stillness-mode is a minor mode that prevents Emacs from scrolling the main +editing window when a multi-line minibuffer appears. It automatically adjusts +point just enough so that Emacs doesn't force a jump in the visible buffer.") + (license license:expat))) + +(define-public emacs-related-files + (package + (name "emacs-related-files") + (version "20230903.851") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DamienCassou/related-files") + (commit "8020f375013d5e83c9b8117d118d2402c63e66bb"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09czvj7rcvcb8h6fh6f2i1fiwk0ghg7n0lx1xppnf9yvwpdxld1s")))) + (build-system emacs-build-system) + (arguments + '(#:tests? #f)) + (home-page "https://www.gnu.org/software/emacs/") + (synopsis "Easily find files related to the current one") + (description + "Thousands times a day you want to jump from a file to its test file (or to its +CSS file, or to its header file, or any other related file) and just as many +times you want to go back to the initial file. Jumping to related files is what +this package is about. The question is: how does a user specify that a file is +related to a set of other files? One way is to create a function that takes a +file as argument and returns a list of related filenames: (defun +my/related-files-jumper (file) (let ((without-ext (file-name-sans-extension +file))) (list (concat without-ext \".js\") (concat without-ext \".css\")))) (setq +related-files-jumpers (list #'my/related-files-jumper)) `my/related-files-jumper +is called a jumper. With this setup, `related-files-jump will let the user jump +from Foo.js to Foo.css and back. This is working good but has several +limitations: 1. If Foo.css is not in the same directory as Foo.js or if you +want to include test files which end with \"-tests.js\", `my/related-files-jumper +has to be modified in a non-obvious way or a complicated new jumper must be +written and added to `related-files-jumpers'; 2. The function +`my/related-files-jumper has to be shared with all Emacs users working on the +same project So related-files recommends another approach that is less powerful +but much simpler. Here is another way to define the same jumper: (recipe +:remove-suffix \".js\" :add-suffix \".css\") This list must replace +`my/related-files-jumper in `related-files-jumpers'. This jumper lets the user +go from Foo.js to Foo.css. related-files will automatically inverse the meaning +of :remove-suffix and :add-suffix arguments so the user can also go from Foo.css +to Foo.js with this jumper. See `related-files-jumpers and THE MANUAL (TODO) +for more information. This kind of jumper can easily be shared with the members +of a team through a .dir-locals.el file. See (info \"(Emacs) Directory +Variables\"). `related-files-make also makes it easy to create a related file and +fill it with some content. If the content is always the same, a string can be +used to specify it: (recipe :remove-suffix \".js\" :add-suffix \".css\" :filler +\"Fill the CSS file\") There is also an `auto-insert'-based way to fill new files +and new kinds of fillers can easily be implemented. See the manual for more +information. If you want to add a new kind of jump, override +`related-files-apply and optionally `related-files-get-filler', call +`related-files-add-jumper-type and add a function to +`related-files-jumper-safety-functions'. If you want to add a new kind of +filler, override `related-files-fill and call `related-files-add-filler-type'.") + (license license:gpl3+))) diff --git a/oni/packages/utilities.scm b/oni/packages/utilities.scm index 9b2cafa..d4d6633 100644 --- a/oni/packages/utilities.scm +++ b/oni/packages/utilities.scm @@ -24,7 +24,7 @@ (base32 "1w35wqw9y77gcx7rcc74b0f7n0vjk4yh8xicjkfc5by5vzffrhc6")) (file-name (git-file-name name version)))) (propagated-inputs - (list guile-3.0 guile-inkplate)) + (list guile-3.0-latest guile-inkplate)) (build-system gnu-build-system) (arguments `(#:tests? #f |
