fschl/home-services/emacs: dont use 'specification->package'

This commit is contained in:
Frieder Schlesier 2024-06-01 16:27:11 +02:00
parent 4dc517442c
commit f0f7764462
1 changed files with 122 additions and 132 deletions

View File

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