diff --git a/fschl/home-services/emacs.scm b/fschl/home-services/emacs.scm index d1d09be..ab38a52 100644 --- a/fschl/home-services/emacs.scm +++ b/fschl/home-services/emacs.scm @@ -1,7 +1,13 @@ (define-module (fschl home-services emacs) + #:use-module (fschl packages emacs) #:use-module (gnu packages) #:use-module (gnu packages emacs) #:use-module (gnu packages emacs-xyz) + #:use-module (gnu packages finance) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages mail) + #:use-module (gnu packages version-control) + #:use-module (gnu packages rust-apps) #:use-module (gnu home services) #:use-module (gnu services) #:use-module (gnu services configuration) @@ -10,198 +16,182 @@ #:export (home-emacs-config-service-type)) -(define transform - (options->transformation - ;; 0.0.9 is too old for the mu4e fix - ;; also, adopt the new ement.el bindings - '((with-commit . "emacs-evil-collection=97a57c91d200a278d0bf91199e2eae45f7d875b0")))) - (define (home-emacs-config-profile-service config) - (map (lambda (package-name) - (transform - (specification->package+output package-name))) - (list "emacs-next-pgtk" + (list + ((options->transformation + ;; 2.3.0 does not include the `box :style none` fix + '((with-commit . "emacs-doom-themes=3b2422b208d28e8734b300cd3cc6a7f4af5eba55"))) + emacs-doom-themes) - "emacs-tmr" - "emacs-buffer-env" + emacs-next-pgtk + emacs-tmr + emacs-buffer-env + emacs-beframe - "emacs-no-littering" + emacs-no-littering - "emacs-exwm" - "emacs-desktop-environment" + emacs-exwm + emacs-desktop-environment - "emacs-god-mode" - "emacs-modalka" - "emacs-meow" + emacs-god-mode - "emacs-popper" + emacs-popper - "emacs-ement" + emacs-mpv - "emacs-evil" - "emacs-evil-collection" - "emacs-undo-tree" + emacs-ement - "emacs-general" + emacs-lua-mode + emacs-fennel-mode - "emacs-doom-themes" - "emacs-spacegray-theme" + emacs-emojify - "emacs-emojify" + emacs-mood-line + emacs-minions - "emacs-mood-line" - "emacs-doom-modeline" - "emacs-all-the-icons" - ;"emacs-minions" + emacs-alert - "emacs-alert" + emacs-super-save - "emacs-super-save" + emacs-pinentry + pinentry-emacs - "emacs-pinentry" - "pinentry-emacs" + emacs-evil-nerd-commenter - "emacs-evil-nerd-commenter" + emacs-ws-butler - "emacs-ws-butler" + emacs-hydra - "emacs-hydra" + emacs-vertico + emacs-corfu + emacs-kind-icon + emacs-orderless + emacs-consult + emacs-wgrep + emacs-marginalia + emacs-embark - "emacs-vertico" - "emacs-corfu" - "emacs-kind-icon" - "emacs-orderless" - "emacs-consult" - "emacs-wgrep" - "emacs-marginalia" - "emacs-embark" + emacs-avy + emacs-ace-window - "emacs-avy" - "emacs-ace-window" + emacs-default-text-scale + emacs-visual-fill-column - "emacs-default-text-scale" - "emacs-visual-fill-column" + emacs-password-store + emacs-auth-source-pass - "emacs-password-store" - "emacs-auth-source-pass" + emacs-dired-hacks + emacs-all-the-icons-dired - ;; "emacs-dired-single" - "emacs-dired-hacks" - "emacs-all-the-icons-dired" + emacs-org + emacs-org-modern + emacs-org-pomodoro + emacs-org-make-toc + emacs-org-present + emacs-org-roam + emacs-org-appear + emacs-org-ql + emacs-htmlize + emacs-denote - "emacs-openwith" + emacs-magit + emacs-magit-todos - "emacs-org" - "emacs-org-modern" - "emacs-org-pomodoro" - "emacs-evil-org" - "emacs-org-make-toc" - "emacs-org-present" - "emacs-org-roam" - "emacs-org-appear" - "emacs-htmlize" - "emacs-denote" + git + (list git "send-email") - "emacs-magit" - "emacs-magit-todos" + emacs-git-link + emacs-git-gutter + emacs-git-gutter-fringe - "git" - "git:send-email" + ;emacs-project + ripgrep ;; For consult-ripgrep - "emacs-git-link" - "emacs-git-gutter" - "emacs-git-gutter-fringe" + emacs-lispy + emacs-lispyville - "emacs-project" - "ripgrep" ;; For consult-ripgrep + emacs-sly + emacs-sly-asdf - ;; TODO: Use the built-in Eglot for now to avoid problems - ;; "emacs-eglot" + emacs-js2-mode + emacs-typescript-mode + emacs-apheleia - "emacs-lispy" - "emacs-lispyville" + emacs-go-mode - "emacs-sly" - "emacs-sly-asdf" + emacs-rust-mode + emacs-zig-mode - "emacs-js2-mode" - "emacs-typescript-mode" - "emacs-apheleia" + emacs-helpful - "emacs-go-mode" + emacs-geiser - "emacs-rust-mode" - "emacs-zig-mode" + emacs-markdown-mode - "emacs-helpful" + emacs-web-mode + emacs-skewer-mode - "emacs-geiser" + emacs-yaml-mode - "emacs-markdown-mode" + emacs-flycheck - "emacs-web-mode" - "emacs-skewer-mode" + emacs-yasnippet + emacs-yasnippet-snippets - "emacs-yaml-mode" + emacs-smartparens - "emacs-flycheck" + emacs-rainbow-delimiters - "emacs-yasnippet" - "emacs-yasnippet-snippets" + emacs-rainbow-mode - "emacs-smartparens" + emacs-posframe + emacs-keycast - "emacs-rainbow-delimiters" + emacs-obs-websocket-el - "emacs-rainbow-mode" + emacs-a + emacs-request - "emacs-posframe" - "emacs-keycast" + ;; TODO: Move to mail profile + isync + mu + emacs-mu4e-alert - ;"emacs-obs-websocket-el" + ledger + ;; hledger + emacs-ledger-mode - "emacs-a" - "emacs-request" + emacs-eat + emacs-eshell-z + emacs-esh-autosuggest + emacs-xterm-color + emacs-exec-path-from-shell - "isync" - "mu" - "emacs-mu4e-alert" + emacs-pcmpl-args - "ledger" - ;; "hledger" - "emacs-ledger-mode" + emacs-eshell-syntax-highlighting - "emacs-eat" - "emacs-eshell-z" - "emacs-esh-autosuggest" - "emacs-xterm-color" - "emacs-exec-path-from-shell" + emacs-eshell-toggle - "emacs-pcmpl-args" + emacs-vterm - "emacs-eshell-syntax-highlighting" + emacs-tracking - "emacs-eshell-toggle" + emacs-telega - "emacs-vterm" + emacs-elfeed - "emacs-tracking" + emacs-elpher - "emacs-telega" + emacs-guix - "emacs-elfeed" + emacs-daemons - "emacs-elpher" + emacs-pulseaudio-control - "emacs-guix" - - "emacs-daemons" - - "emacs-pulseaudio-control" - - "emacs-docker" - "emacs-docker-tramp" - "emacs-dockerfile-mode"))) + emacs-docker + emacs-docker-tramp + emacs-dockerfile-mode)) (define home-emacs-config-service-type (service-type (name 'home-emacs-config)