Compare commits

...

10 Commits

Author SHA1 Message Date
Hilton Chain
9d7be1f81c
examples: emacs: Add fontconfig into the manifest.
To provide XDG_DATA_DIRS search path.

* modules/rosenthal/examples/emacs/manifest.tmpl: Add fontconfig.
2026-02-16 15:44:43 +08:00
Hilton Chain
e712df7088
examples: emacs: Adjust interface.
* modules/rosenthal/examples/emacs/init-interface.el (emacs): Enable scroll
bar, tool bar and tooltip.
Remove explicit enabling of menu bar.
2026-02-16 15:32:09 +08:00
Hilton Chain
3a4e97642b
examples: emacs: Set emacs-corfu keymap via use-package keyword ‘:bind’.
* modules/rosenthal/examples/emacs/init-interface.el (corfu): Move keymap
setup to ‘:bind’.
2026-02-16 15:22:16 +08:00
Hilton Chain
ec978c44fa
examples: emacs: Fix manifest.
Guile treats .scm extensions as modules.

* modules/rosenthal/examples/emacs/manifest.scm: Rename to...
* modules/rosenthal/examples/emacs/manifest.tmpl: ...this new file.
* modules/rosenthal/examples/emacs/install.sh: Adjust accordingly.
2026-02-16 14:09:23 +08:00
Hilton Chain
9c89821d25
examples: emacs: Remove --dry-run from install.sh.
This is a follow-up to commit c83606a8c7.

* modules/rosenthal/examples/emacs/install.sh: Remove --dry-run.
2026-02-16 14:01:47 +08:00
Hilton Chain
7e6e089e45
examples: emacs: Add emacs-evil.
* modules/rosenthal/examples/emacs/manifest.scm: Add emacs-evil.
* modules/rosenthal/examples/emacs/init.el (initial-scratch-message): Mention
it.
* modules/rosenthal/examples/guix/config.tmpl (%my-home) [packages]: Adjust
accordingly.
2026-02-16 13:59:39 +08:00
Hilton Chain
9d90607a02
examples: emacs: Disable cua-mode by default.
* modules/rosenthal/examples/emacs/init-editing.el (emacs): Disable ‘cua-mode’.
* modules/rosenthal/examples/emacs/init.el: Add it to initial-scratch-message.
2026-02-16 13:59:26 +08:00
Hilton Chain
83edc24958
examples: emacs: Add more packages.
* modules/rosenthal/examples/emacs/manifest.scm: Add emacs-edit-indirect,
emacs-fish-mode, emacs-json-mode, emacs-markdown-mode and emacs-nftables-mode.
* modules/rosenthal/examples/guix/config.tmpl (%my-home) [packages]: Adjust
accordingly.
2026-02-16 13:58:49 +08:00
Hilton Chain
725aaa9044
examples: emacs: Remove emacs-daemons.
* modules/rosenthal/examples/emacs/manifest.scm: Remove emacs-daemons.
* modules/rosenthal/examples/emacs/init-miscellaneous.el (daemons): Remove.
* modules/rosenthal/examples/guix/config.tmpl (%my-home) [packages]: Adjust
accordingly.
2026-02-16 13:57:51 +08:00
Hilton Chain
c83606a8c7
examples: emacs: Add manifest.scm.
* modules/rosenthal/examples/emacs/manifest.scm: New file.
* modules/rosenthal/examples/emacs/init-editing.el,
* modules/rosenthal/examples/emacs/init-fonts.el,
* modules/rosenthal/examples/emacs/init-interface.el,
* modules/rosenthal/examples/emacs/init-miscellaneous.el,
* modules/rosenthal/examples/emacs/init.el,
* modules/rosenthal/examples/emacs/install.sh: Adjust accordingly.
2026-02-16 13:47:14 +08:00
8 changed files with 58 additions and 49 deletions

View File

@ -11,22 +11,17 @@
(setopt electric-indent-inhibit t)
:hook
(before-save . delete-trailing-whitespace)
;; Use Ctrl-C/X/Z for copy, cut, paste.
(after-init . cua-mode)
;; Automatic parenthesis pairing.
(after-init . electric-pair-mode))
;; Check syntax on the fly.
;;guix:emacs-flycheck
(use-package flycheck
:hook
(after-init . global-flycheck-mode))
;;guix:emacs-flycheck-guile
(use-package flycheck-guile
:after (flycheck geiser-guile))
;;guix:emacs-geiser
(use-package geiser
:custom
(geiser-autodoc-identifier-format "%s → %s")
@ -55,7 +50,6 @@
(mouse-set-point event)
(popup-menu (context-menu)))))
;;guix:emacs-geiser-guile
(use-package geiser-guile
:after (geiser)
:custom
@ -76,12 +70,10 @@
"/run/current-system/profile/share/guile/site/3.0")))
(add-to-list 'geiser-guile-load-path path t)))
;;guix:emacs-macrostep
(use-package macrostep
:bind
("C-c e" . macrostep-expand))
;;guix:emacs-macrostep-geiser
(use-package macrostep-geiser
:after (geiser-mode)
:hook
@ -92,7 +84,6 @@
:hook
(geiser-repl-mode . macrostep-geiser-setup))
;;guix:emacs-puni
(use-package puni
:hook
((eval-expression-minibuffer-setup nxml-mode prog-mode sgml-mode tex-mode)

View File

@ -2,10 +2,6 @@
;; https://github.com/nykma/nema/blob/develop/my-sample/font.el
;;guix:font-adobe-source-serif
;;guix:font-google-noto-emoji
;;guix:font-sarasa-gothic
;;guix:font-victor-mono
(defvar nema--font-size 12 "Font size")
(defvar nema-fonts '((sans . "sans")
(serif . "serif")

View File

@ -30,27 +30,21 @@
:custom
(fringe-mode 0)
(modus-themes-italic-constructs t)
(scroll-bar-mode nil)
(tool-bar-mode nil)
(tooltip-mode nil)
:config
(load-theme 'modus-operandi-tinted :no-confirm)
:hook
(after-init . menu-bar-mode))
(load-theme 'modus-operandi-tinted :no-confirm))
;;guix:emacs-corfu
(use-package corfu
:custom
;; Auto-completion.
(corfu-auto t)
(corfu-auto-delay 0.3)
:config
;; Free the `RET' key for less intrusive behavior.
(keymap-unset corfu-map "RET")
:hook
(after-init . global-corfu-mode))
(after-init . global-corfu-mode)
:bind
;; Free the `RET' key for less intrusive behavior.
(:map corfu-map
("RET" . nil)))
;;guix:emacs-doom-modeline
(use-package doom-modeline
:custom
(doom-modeline-icon nil)
@ -58,7 +52,6 @@
:hook
(after-init . doom-modeline-mode))
;;guix:emacs-helpful
(use-package helpful
:bind
([remap describe-function] . helpful-callable)
@ -68,7 +61,6 @@
([remap describe-symbol] . helpful-symbol)
("C-c C-d" . helpful-at-point))
;;guix:emacs-hl-todo
(use-package hl-todo
:custom
(hl-todo-highlight-punctuation ":")
@ -82,13 +74,11 @@
(regexp-search-ring-max 200)
(search-ring-max 200))
;;guix:emacs-mwim
(use-package mwim
:bind
([remap move-beginning-of-line] . mwim-beginning)
([remap move-end-of-line] . mwim-end))
;;guix:emacs-orderless
(use-package orderless
:custom
(completion-styles '(orderless basic))
@ -101,12 +91,10 @@
:hook
(after-init . show-paren-mode))
;;guix:emacs-rainbow-delimiters
(use-package rainbow-delimiters
:hook
(prog-mode . rainbow-delimiters-mode))
;;guix:emacs-vertico
(use-package vertico
:hook
(after-init . vertico-mode))

View File

@ -1,10 +1,5 @@
;;; -*- lexical-binding: t -*-
;;guix:emacs-daemons
(use-package daemons
:custom
(daemons-list-fill-frame t))
(use-package dired
:custom
(dired-listing-switches
@ -18,12 +13,10 @@
(dired-create-destination-dirs-on-trailing-dirsep t)
(dired-vc-rename-file t))
;;guix:emacs-envrc
(use-package envrc
:hook
(after-init . envrc-global-mode))
;;guix:emacs-magit
(use-package magit
:custom
(git-commit-cd-to-toplevel t))
@ -35,6 +28,5 @@
(:map project-prefix-map
("m" . magit-project-status)))
;;guix:emacs-forge
(use-package forge
:after (magit))

View File

@ -6,13 +6,11 @@
(load custom-file))
;; Tweak garbage collection strategy.
;;guix:emacs-gcmh
(use-package gcmh
:config
(gcmh-mode 1))
;; Set default storage locations for various packages.
;;guix:emacs-no-littering
(use-package no-littering
:config
(no-littering-theme-backups))
@ -34,7 +32,11 @@
(progn
(setopt initial-scratch-message
";;; Type your Guile program here and evaluate it.\n\n")
"\
;;; Type your Guile program here and evaluate it.
;;; `M-x cua-mode' to use Ctrl-C/X/Z for copy, cut, paste.
;;; `M-x evil-mode' for Vim-like experience.
\n")
(scheme-mode)
(geiser-repl-import-module "(gnu)")
(geiser-repl-import-module "(nonguix)")

View File

@ -1,7 +1,4 @@
#!/bin/sh
grep --recursive --no-filename '^;;guix:' . |
sed --regexp-extended 's/^;;guix:(.*)/"\1"/g' |
xargs guix install emacs-pgtk
[[ ! -e ~/.config/emacs/init.el ]] && cp --recursive . ~/.config/emacs
dir="$(dirname "$(realpath "$0")")"
[[ ! -e ~/.config/emacs/init.el ]] && cp --recursive "$dir/." ~/.config/emacs
guix package --install --manifest="$dir/manifest.tmpl"

View File

@ -0,0 +1,38 @@
;;; -*- mode: scheme -*-
(use-modules (gnu packages))
(specifications->manifest
'("emacs-pgtk"
"emacs-corfu"
"emacs-doom-modeline"
"emacs-edit-indirect" ;for emacs-markdown-mode.
"emacs-envrc"
"emacs-evil"
"emacs-fish-mode"
"emacs-flycheck"
"emacs-flycheck-guile"
"emacs-forge"
"emacs-gcmh"
"emacs-geiser"
"emacs-geiser-guile"
"emacs-helpful"
"emacs-hl-todo"
"emacs-json-mode"
"emacs-macrostep"
"emacs-macrostep-geiser"
"emacs-magit"
"emacs-markdown-mode"
"emacs-mwim"
"emacs-nftables-mode"
"emacs-no-littering"
"emacs-orderless"
"emacs-puni"
"emacs-rainbow-delimiters"
"emacs-vertico"
"fontconfig"
"font-adobe-source-serif"
"font-google-noto-emoji"
"font-sarasa-gothic"
"font-victor-mono"
))

View File

@ -45,9 +45,11 @@
"neovim"
"emacs-corfu"
"emacs-daemons"
"emacs-doom-modeline"
"emacs-edit-indirect" ;for emacs-markdown-mode.
"emacs-envrc"
"emacs-evil"
"emacs-fish-mode"
"emacs-flycheck"
"emacs-flycheck-guile"
"emacs-forge"
@ -56,10 +58,13 @@
"emacs-geiser-guile"
"emacs-helpful"
"emacs-hl-todo"
"emacs-json-mode"
"emacs-macrostep"
"emacs-macrostep-geiser"
"emacs-magit"
"emacs-markdown-mode"
"emacs-mwim"
"emacs-nftables-mode"
"emacs-no-littering"
"emacs-orderless"
"emacs-puni"