.
This commit is contained in:
parent
6e3fd648cf
commit
925301ae9a
6 changed files with 262 additions and 122 deletions
|
@ -7,6 +7,14 @@
|
||||||
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
||||||
(openpgp-fingerprint
|
(openpgp-fingerprint
|
||||||
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
|
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
|
||||||
|
(channel
|
||||||
|
(name 'emacs-melpa)
|
||||||
|
(url "https://github.com/babariviere/guix-emacs")
|
||||||
|
(introduction
|
||||||
|
(make-channel-introduction
|
||||||
|
"72ca4ef5b572fea10a4589c37264fa35d4564783"
|
||||||
|
(openpgp-fingerprint
|
||||||
|
"261C A284 3452 FB01 F6DF 6CF4 F9B7 864F 2AB4 6F18"))))
|
||||||
(channel
|
(channel
|
||||||
(name 'ziltis-channel)
|
(name 'ziltis-channel)
|
||||||
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
||||||
|
|
11
config.org
11
config.org
|
@ -134,6 +134,14 @@ This adds the Nonguix channel.
|
||||||
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
||||||
(openpgp-fingerprint
|
(openpgp-fingerprint
|
||||||
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
|
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
|
||||||
|
(channel
|
||||||
|
(name 'emacs-melpa)
|
||||||
|
(url "https://github.com/babariviere/guix-emacs")
|
||||||
|
(introduction
|
||||||
|
(make-channel-introduction
|
||||||
|
"72ca4ef5b572fea10a4589c37264fa35d4564783"
|
||||||
|
(openpgp-fingerprint
|
||||||
|
"261C A284 3452 FB01 F6DF 6CF4 F9B7 864F 2AB4 6F18"))))
|
||||||
(channel
|
(channel
|
||||||
(name 'ziltis-channel)
|
(name 'ziltis-channel)
|
||||||
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
||||||
|
@ -152,6 +160,7 @@ This adds the Nonguix channel.
|
||||||
- network-manager
|
- network-manager
|
||||||
- podman
|
- podman
|
||||||
- readline
|
- readline
|
||||||
|
- xf86-video-amdgpu
|
||||||
|
|
||||||
#+NAME: root-package-block
|
#+NAME: root-package-block
|
||||||
#+begin_src scheme :noweb no-export
|
#+begin_src scheme :noweb no-export
|
||||||
|
@ -342,7 +351,7 @@ This is the full operating system specification.
|
||||||
(name "zilti")
|
(name "zilti")
|
||||||
(group "users")
|
(group "users")
|
||||||
(supplementary-groups
|
(supplementary-groups
|
||||||
'("users" "wheel" "netdev" "audio" "video" "libvirt" "seat")))
|
'("avahi" "users" "wheel" "netdev" "audio" "cdrom" "video" "libvirt" "seat")))
|
||||||
%base-user-accounts))
|
%base-user-accounts))
|
||||||
<<root-package-block>>
|
<<root-package-block>>
|
||||||
<<root-services-block>>
|
<<root-services-block>>
|
||||||
|
|
13
config.scm
13
config.scm
|
@ -69,7 +69,7 @@
|
||||||
(name "zilti")
|
(name "zilti")
|
||||||
(group "users")
|
(group "users")
|
||||||
(supplementary-groups
|
(supplementary-groups
|
||||||
'("users" "wheel" "netdev" "audio" "video" "libvirt" "seat")))
|
'("avahi" "users" "wheel" "netdev" "audio" "cdrom" "video" "libvirt" "seat")))
|
||||||
%base-user-accounts))
|
%base-user-accounts))
|
||||||
(packages
|
(packages
|
||||||
(append
|
(append
|
||||||
|
@ -81,7 +81,8 @@
|
||||||
nss-certs
|
nss-certs
|
||||||
network-manager
|
network-manager
|
||||||
podman
|
podman
|
||||||
readline)
|
readline
|
||||||
|
xf86-video-amdgpu)
|
||||||
|
|
||||||
%base-packages))
|
%base-packages))
|
||||||
(services
|
(services
|
||||||
|
@ -178,6 +179,14 @@
|
||||||
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
||||||
(openpgp-fingerprint
|
(openpgp-fingerprint
|
||||||
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
|
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
|
||||||
|
(channel
|
||||||
|
(name 'emacs-melpa)
|
||||||
|
(url "https://github.com/babariviere/guix-emacs")
|
||||||
|
(introduction
|
||||||
|
(make-channel-introduction
|
||||||
|
"72ca4ef5b572fea10a4589c37264fa35d4564783"
|
||||||
|
(openpgp-fingerprint
|
||||||
|
"261C A284 3452 FB01 F6DF 6CF4 F9B7 864F 2AB4 6F18"))))
|
||||||
(channel
|
(channel
|
||||||
(name 'ziltis-channel)
|
(name 'ziltis-channel)
|
||||||
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
||||||
|
|
|
@ -82,11 +82,11 @@
|
||||||
(add-hook 'after-init-hook #'elpaca-process-queues)
|
(add-hook 'after-init-hook #'elpaca-process-queues)
|
||||||
(elpaca `(,@elpaca-order))
|
(elpaca `(,@elpaca-order))
|
||||||
|
|
||||||
;;;;; use-package integration
|
;; Use-Package Integration
|
||||||
|
|
||||||
(elpaca elpaca-use-package
|
(elpaca elpaca-use-package
|
||||||
(elpaca-use-package-mode)
|
(elpaca-use-package-mode)
|
||||||
(setq elpaca-use-package-by-default t))
|
(setq elpaca-use-package-by-default nil))
|
||||||
(elpaca-wait)
|
(elpaca-wait)
|
||||||
|
|
||||||
;;;; Package Management Configuration
|
;;;; Package Management Configuration
|
||||||
|
@ -113,6 +113,7 @@
|
||||||
;;;; Emacs
|
;;;; Emacs
|
||||||
(use-package emacs
|
(use-package emacs
|
||||||
:elpaca nil
|
:elpaca nil
|
||||||
|
:after org
|
||||||
:custom
|
:custom
|
||||||
(completion-cycle-threshold 10)
|
(completion-cycle-threshold 10)
|
||||||
(display-time-mode t)
|
(display-time-mode t)
|
||||||
|
@ -120,6 +121,7 @@
|
||||||
(enable-remote-dir-locals t)
|
(enable-remote-dir-locals t)
|
||||||
(fill-column 100)
|
(fill-column 100)
|
||||||
(global-hl-line-mode t)
|
(global-hl-line-mode t)
|
||||||
|
(global-prettify-symbols-mode t)
|
||||||
(indent-tabs-mode nil)
|
(indent-tabs-mode nil)
|
||||||
(menu-bar-mode nil)
|
(menu-bar-mode nil)
|
||||||
(minibuffer-prompt-properties (read-only t cursor-intangible t face minibuffer-prompt))
|
(minibuffer-prompt-properties (read-only t cursor-intangible t face minibuffer-prompt))
|
||||||
|
@ -131,7 +133,8 @@
|
||||||
:custom-face
|
:custom-face
|
||||||
;;(default ((t (:weight bold :height 113 :width normal :family "VictorMono Nerd Font"))))
|
;;(default ((t (:weight bold :height 113 :width normal :family "VictorMono Nerd Font"))))
|
||||||
(fixed-pitch ((t (:weight normal :height 105 :width narrow :family "MonaspiceXe Nerd Font Mono"))))
|
(fixed-pitch ((t (:weight normal :height 105 :width narrow :family "MonaspiceXe Nerd Font Mono"))))
|
||||||
(variable-pitch ((t (:weight normal :height 105 :width narrow :family "MonaspiceXe Nerd Font Propo"))))
|
(variable-pitch ((t (:weight normal :height 130 :family "LibertinusSerif Nerd Font Propo"))))
|
||||||
|
;(variable-pitch ((t (:weight normal :height 105 :width narrow :family "MonaspiceXe Nerd Font Propo"))))
|
||||||
:hook
|
:hook
|
||||||
(minibuffer-setup . cursor-intangible-mode)
|
(minibuffer-setup . cursor-intangible-mode)
|
||||||
:config
|
:config
|
||||||
|
@ -139,11 +142,23 @@
|
||||||
(global-display-fill-column-indicator-mode t)
|
(global-display-fill-column-indicator-mode t)
|
||||||
(pixel-scroll-precision-mode 1))
|
(pixel-scroll-precision-mode 1))
|
||||||
|
|
||||||
|
(defun set-buffer-variable-pitch ()
|
||||||
|
(interactive)
|
||||||
|
(variable-pitch-mode t)
|
||||||
|
(setq line-spacing 3)
|
||||||
|
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-code nil :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-block nil :inherit 'fixed-pitch)
|
||||||
|
;; investigate: this face does not exist
|
||||||
|
;;(set-face-attribute 'org-block-background nil :inherit 'fixed-pitch)
|
||||||
|
)
|
||||||
|
|
||||||
;;;; Org Mode
|
;;;; Org Mode
|
||||||
(use-package org
|
(use-package org
|
||||||
|
:elpaca nil
|
||||||
:preface
|
:preface
|
||||||
(defun cc/org-local-stuff ()
|
(defun cc/org-local-stuff ()
|
||||||
(setq-local visual-fill-column-center-text t))
|
(setq-local visual-fill-column-center-text t))
|
||||||
:elpaca (:repo "https://git.savannah.gnu.org/git/emacs/org-mode.git" :branch "emacs-sync")
|
:elpaca (:repo "https://git.savannah.gnu.org/git/emacs/org-mode.git" :branch "emacs-sync")
|
||||||
:after visual-fill-column
|
:after visual-fill-column
|
||||||
:ensure t
|
:ensure t
|
||||||
|
@ -155,12 +170,12 @@
|
||||||
(org-mode . org-indent-mode)
|
(org-mode . org-indent-mode)
|
||||||
(org-src-mode . hack-local-variables)
|
(org-src-mode . hack-local-variables)
|
||||||
(org-mode . visual-line-mode)
|
(org-mode . visual-line-mode)
|
||||||
|
(org-mode . set-buffer-variable-pitch)
|
||||||
:config
|
:config
|
||||||
(setq org-directory "~/org")
|
(setq org-directory "~/org")
|
||||||
(add-to-list 'org-modules 'collector))
|
(add-to-list 'org-modules 'collector))
|
||||||
|
|
||||||
(use-package org-roam
|
(use-package org-roam
|
||||||
:ensure t
|
|
||||||
:custom
|
:custom
|
||||||
(org-roam-directory "~/org/roam")
|
(org-roam-directory "~/org/roam")
|
||||||
:config
|
:config
|
||||||
|
@ -171,11 +186,9 @@
|
||||||
(consult-notes-org-roam-mode t))
|
(consult-notes-org-roam-mode t))
|
||||||
|
|
||||||
(use-package websocket
|
(use-package websocket
|
||||||
:ensure t
|
|
||||||
:after org-roam)
|
:after org-roam)
|
||||||
|
|
||||||
(use-package org-roam-ui
|
(use-package org-roam-ui
|
||||||
:ensure t
|
|
||||||
:after org-roam
|
:after org-roam
|
||||||
:custom
|
:custom
|
||||||
(org-roam-ui-sync-theme t)
|
(org-roam-ui-sync-theme t)
|
||||||
|
@ -184,10 +197,9 @@
|
||||||
(org-roam-ui-open-on-start t))
|
(org-roam-ui-open-on-start t))
|
||||||
|
|
||||||
(use-package org-modern
|
(use-package org-modern
|
||||||
:ensure t
|
|
||||||
:hook
|
:hook
|
||||||
((org-mode . org-modern-mode)
|
(org-mode . org-modern-mode)
|
||||||
(org-agenda-finalize . org-modern-agenda)))
|
(org-agenda-finalize . org-modern-agenda))
|
||||||
|
|
||||||
(use-package org-rainbow-tags
|
(use-package org-rainbow-tags
|
||||||
:hook
|
:hook
|
||||||
|
@ -217,7 +229,7 @@
|
||||||
:config
|
:config
|
||||||
(ligature-set-ligatures
|
(ligature-set-ligatures
|
||||||
't
|
't
|
||||||
'( ;; SS01
|
'(;; SS01
|
||||||
"==" "===" "=/=" "!=" "!==" "/=" "/==" "~~" "=~" "!~"
|
"==" "===" "=/=" "!=" "!==" "/=" "/==" "~~" "=~" "!~"
|
||||||
;; SS02
|
;; SS02
|
||||||
">=" "<="
|
">=" "<="
|
||||||
|
@ -243,7 +255,6 @@
|
||||||
(add-to-list 'default-frame-alist '(alpha-background . 90))
|
(add-to-list 'default-frame-alist '(alpha-background . 90))
|
||||||
|
|
||||||
(use-package lambda-line
|
(use-package lambda-line
|
||||||
;;:straight (:type git :host github :repo "lambda-emacs/lambda-line")
|
|
||||||
:elpaca (:host github :repo "lambda-emacs/lambda-line")
|
:elpaca (:host github :repo "lambda-emacs/lambda-line")
|
||||||
:custom
|
:custom
|
||||||
(lambda-line-icon-time t) ;; requires ClockFace font (see below)
|
(lambda-line-icon-time t) ;; requires ClockFace font (see below)
|
||||||
|
@ -280,7 +291,6 @@
|
||||||
(setq mode-line-format (list "%_"))))
|
(setq mode-line-format (list "%_"))))
|
||||||
|
|
||||||
(use-package lambda-themes
|
(use-package lambda-themes
|
||||||
;;:straight (:type git :host github :repo "lambda-emacs/lambda-themes")
|
|
||||||
:elpaca (:host github :repo "lambda-emacs/lambda-themes")
|
:elpaca (:host github :repo "lambda-emacs/lambda-themes")
|
||||||
:custom
|
:custom
|
||||||
(lambda-themes-set-italic-comments t)
|
(lambda-themes-set-italic-comments t)
|
||||||
|
@ -297,11 +307,16 @@
|
||||||
(visual-fill-column-enable-sensible-window-split t)
|
(visual-fill-column-enable-sensible-window-split t)
|
||||||
:hook
|
:hook
|
||||||
(prog-mode . visual-line-mode)
|
(prog-mode . visual-line-mode)
|
||||||
visual-line-mode)
|
visual-line-mode
|
||||||
|
;; :config
|
||||||
|
;; (add-hook 'prog-mode-hook #'visual-line-mode)
|
||||||
|
;; (add-hook 'visual-line-mode-hook #'visual-fill-column-mode)
|
||||||
|
)
|
||||||
|
|
||||||
(use-package adaptive-wrap
|
(use-package adaptive-wrap
|
||||||
:config
|
:config
|
||||||
(setq-default adaptive-wrap-extra-indent 4)
|
(setq-default adaptive-wrap-extra-indent 4)
|
||||||
|
;;(add-hook 'visual-line-mode-hook #'adaptive-wrap-prefix-mode)
|
||||||
:hook
|
:hook
|
||||||
(visual-line-mode . adaptive-wrap-prefix-mode))
|
(visual-line-mode . adaptive-wrap-prefix-mode))
|
||||||
|
|
||||||
|
@ -311,12 +326,9 @@
|
||||||
(keychain-refresh-environment))
|
(keychain-refresh-environment))
|
||||||
|
|
||||||
(use-package pass)
|
(use-package pass)
|
||||||
(use-package password-store)
|
|
||||||
(use-package password-store-otp)
|
|
||||||
|
|
||||||
;;;; Evil Mode
|
;;;; Evil Mode
|
||||||
(use-package evil
|
(use-package evil
|
||||||
;; :after evil-leader
|
|
||||||
:ensure t
|
:ensure t
|
||||||
:init
|
:init
|
||||||
(setq evil-want-keybinding nil
|
(setq evil-want-keybinding nil
|
||||||
|
@ -408,11 +420,13 @@
|
||||||
:commands
|
:commands
|
||||||
which-key-setup-minibuffer
|
which-key-setup-minibuffer
|
||||||
:init
|
:init
|
||||||
(which-key-setup-minibuffer))
|
(which-key-setup-minibuffer)
|
||||||
|
:config
|
||||||
|
(which-key-mode t))
|
||||||
|
|
||||||
;;;;; Code Completion
|
;;;;; Code Completion
|
||||||
(use-package cape
|
(use-package cape
|
||||||
:preface
|
:config
|
||||||
(defun my/capf ()
|
(defun my/capf ()
|
||||||
(setq completion-at-point-functions
|
(setq completion-at-point-functions
|
||||||
(list (cape-capf-super
|
(list (cape-capf-super
|
||||||
|
@ -423,11 +437,34 @@
|
||||||
#'cape-line
|
#'cape-line
|
||||||
#'cape-emoji
|
#'cape-emoji
|
||||||
#'cape-keyword))))
|
#'cape-keyword))))
|
||||||
:config
|
(defun my/eglot-capf ()
|
||||||
|
(setq completion-at-point-functions
|
||||||
|
(list (cape-capf-super
|
||||||
|
#'eglot-completion-at-point
|
||||||
|
#'tempel-complete
|
||||||
|
#'cape-dabbrev
|
||||||
|
#'cape-file
|
||||||
|
#'cape-dict
|
||||||
|
#'cape-line
|
||||||
|
#'cape-emoji
|
||||||
|
#'cape-keyword))))
|
||||||
|
(defun my/geiser-capf ()
|
||||||
|
(setq completion-at-point-functions
|
||||||
|
(append geiser-capf--capfs
|
||||||
|
(list (cape-capf-super
|
||||||
|
#'tempel-complete
|
||||||
|
#'cape-dabbrev
|
||||||
|
#'cape-file
|
||||||
|
#'cape-dict
|
||||||
|
#'cape-line
|
||||||
|
#'cape-emoji
|
||||||
|
#'cape-keyword)))))
|
||||||
(advice-add 'eglot-completion-at-point :around #'cape-wrap-buster)
|
(advice-add 'eglot-completion-at-point :around #'cape-wrap-buster)
|
||||||
:hook
|
:hook
|
||||||
(org-mode . my/capf)
|
(org-mode . my/capf)
|
||||||
(prog-mode . my/capf))
|
(prog-mode . my/capf)
|
||||||
|
(eglot-managed-mode . my/eglot-capf)
|
||||||
|
(geiser-mode . my/geiser-capf))
|
||||||
|
|
||||||
(defun my/corfu-combined-sort (candidates)
|
(defun my/corfu-combined-sort (candidates)
|
||||||
"Sort CANDIDATES using both display-sort-function and corfu-sort-function."
|
"Sort CANDIDATES using both display-sort-function and corfu-sort-function."
|
||||||
|
@ -473,6 +510,7 @@
|
||||||
(use-package tempel)
|
(use-package tempel)
|
||||||
|
|
||||||
(use-package xref-union
|
(use-package xref-union
|
||||||
|
:elpaca t
|
||||||
:hook
|
:hook
|
||||||
cider-connected)
|
cider-connected)
|
||||||
|
|
||||||
|
@ -484,15 +522,17 @@
|
||||||
("g;" . 'goto-last-change-reverse)))
|
("g;" . 'goto-last-change-reverse)))
|
||||||
|
|
||||||
(use-package evil-snipe
|
(use-package evil-snipe
|
||||||
:delight (evil-snipe-local-mode " ")
|
:after evil-easymotion
|
||||||
:custom
|
:custom
|
||||||
(evil-snipe-scope 'whole-visible)
|
(evil-snipe-scope 'whole-visible)
|
||||||
(evil-snipe-repeat-scope 'whole-buffer)
|
(evil-snipe-repeat-scope 'whole-buffer)
|
||||||
(evil-snipe-spillover-scope 'whole-buffer)
|
(evil-snipe-spillover-scope 'whole-buffer)
|
||||||
(evil-snipe-tab-increment t)
|
(evil-snipe-tab-increment t)
|
||||||
|
:commands
|
||||||
|
evil-snipe-override-mode
|
||||||
|
:init
|
||||||
|
(evil-snipe-override-mode 1)
|
||||||
:hook
|
:hook
|
||||||
evil-mode
|
|
||||||
(evil-mode . evil-snipe-override-mode)
|
|
||||||
(magit-mode . turn-off-evil-snipe-override-mode)
|
(magit-mode . turn-off-evil-snipe-override-mode)
|
||||||
;; See https://github.com/hlissner/evil-snipe/issues/95
|
;; See https://github.com/hlissner/evil-snipe/issues/95
|
||||||
;; :config
|
;; :config
|
||||||
|
@ -503,6 +543,7 @@
|
||||||
)
|
)
|
||||||
|
|
||||||
(use-package evil-easymotion
|
(use-package evil-easymotion
|
||||||
|
:after evil
|
||||||
:config
|
:config
|
||||||
(evilem-default-keybindings "<leader>"))
|
(evilem-default-keybindings "<leader>"))
|
||||||
|
|
||||||
|
@ -553,21 +594,20 @@ Point must be at the beginning of balanced expression (sexp)."
|
||||||
(looking-back (rx (or ")" "}" "]"))))
|
(looking-back (rx (or ")" "}" "]"))))
|
||||||
|
|
||||||
;;;;; Basic
|
;;;;; Basic
|
||||||
(use-package symex
|
;; (use-package symex
|
||||||
:custom
|
;; :custom
|
||||||
(symex-modal-backend 'evil)
|
;; (symex-modal-backend 'evil)
|
||||||
:config
|
;; :config
|
||||||
(symex-initialize)
|
;; (symex-initialize)
|
||||||
:bind
|
;; :bind
|
||||||
(:map evil-insert-state-map
|
;; (:map evil-insert-state-map
|
||||||
("C-ß" . #'symex-mode-interface)))
|
;; ("C-ß" . #'symex-mode-interface)))
|
||||||
|
|
||||||
(use-package paredit
|
(use-package paredit
|
||||||
:hook
|
|
||||||
clojure-ts-mode
|
|
||||||
emacs-lisp-mode
|
|
||||||
scheme-mode
|
|
||||||
:config
|
:config
|
||||||
|
;; (add-hook 'clojure-ts-mode-hook #'paredit-mode)
|
||||||
|
;; (add-hook 'emacs-lisp-mode-hook #'paredit-mode)
|
||||||
|
;; (add-hook 'scheme-mode-hook #'paredit-mode)
|
||||||
(evil-define-key 'insert paredit-mode-map
|
(evil-define-key 'insert paredit-mode-map
|
||||||
(kbd "r") (conditional-keybind #'looking-at-opening-paren
|
(kbd "r") (conditional-keybind #'looking-at-opening-paren
|
||||||
#'paredit-raise-sexp)
|
#'paredit-raise-sexp)
|
||||||
|
@ -580,10 +620,13 @@ Point must be at the beginning of balanced expression (sexp)."
|
||||||
(kbd ">") (conditional-keybind #'being-past-closing-paren
|
(kbd ">") (conditional-keybind #'being-past-closing-paren
|
||||||
#'cc/slurp-forward)
|
#'cc/slurp-forward)
|
||||||
(kbd "<") (conditional-keybind #'being-past-closing-paren
|
(kbd "<") (conditional-keybind #'being-past-closing-paren
|
||||||
#'cc/barf-forward)))
|
#'cc/barf-forward))
|
||||||
|
:hook
|
||||||
|
clojure-ts-mode
|
||||||
|
emacs-lisp-mode
|
||||||
|
scheme-mode)
|
||||||
|
|
||||||
;; (use-package smartparens
|
;; (use-package smartparens
|
||||||
;; :delight (smartparens-mode " ")
|
|
||||||
;; :hook
|
;; :hook
|
||||||
;; (smartparens-mode . show-smartparens-mode)
|
;; (smartparens-mode . show-smartparens-mode)
|
||||||
;; (smartparens-mode . smartparens-strict-mode)
|
;; (smartparens-mode . smartparens-strict-mode)
|
||||||
|
@ -656,26 +699,11 @@ Point must be at the beginning of balanced expression (sexp)."
|
||||||
:delight '(:eval (cons " " (flymake--mode-line-counters))))
|
:delight '(:eval (cons " " (flymake--mode-line-counters))))
|
||||||
|
|
||||||
(use-package eglot
|
(use-package eglot
|
||||||
:preface
|
|
||||||
(defun my/eglot-capf ()
|
|
||||||
(setq completion-at-point-functions
|
|
||||||
(list (cape-capf-super
|
|
||||||
#'eglot-completion-at-point
|
|
||||||
#'tempel-complete
|
|
||||||
#'cape-dabbrev
|
|
||||||
#'cape-file
|
|
||||||
#'cape-dict
|
|
||||||
#'cape-line
|
|
||||||
#'cape-emoji
|
|
||||||
#'cape-keyword))))
|
|
||||||
:custom
|
:custom
|
||||||
(eglot-connect-timeout 90)
|
(eglot-connect-timeout 90)
|
||||||
(eglot-autoshutdown t)
|
(eglot-autoshutdown t)
|
||||||
(eglot-report-progress t)
|
(eglot-report-progress t)
|
||||||
:config
|
:config
|
||||||
(defun eglot-mode ()
|
|
||||||
(eglot-inlay-hints-mode +1)
|
|
||||||
(my/eglot-capf))
|
|
||||||
(setq-default eglot-workspace-configuration
|
(setq-default eglot-workspace-configuration
|
||||||
'((clojure-lsp (maxCompletions . 300))))
|
'((clojure-lsp (maxCompletions . 300))))
|
||||||
(add-to-list 'eglot-server-programs
|
(add-to-list 'eglot-server-programs
|
||||||
|
@ -706,108 +734,122 @@ Point must be at the beginning of balanced expression (sexp)."
|
||||||
(call-interactively #'eglot-format-buffer))
|
(call-interactively #'eglot-format-buffer))
|
||||||
nil 'local)))
|
nil 'local)))
|
||||||
(eglot-managed-mode . eglot-inlay-hints-mode)
|
(eglot-managed-mode . eglot-inlay-hints-mode)
|
||||||
(eglot-managed-mode . my/eglot-capf))
|
(clojure-mode . eglot-ensure))
|
||||||
|
|
||||||
(use-package consult-eglot
|
(use-package consult-eglot
|
||||||
:after (consult eglot))
|
:after (consult eglot))
|
||||||
|
|
||||||
(use-package tree-sitter
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
;;;;; Clojure
|
;;;;; Clojure
|
||||||
(use-package clojure-ts-mode
|
;; (use-package clojure-ts-mode
|
||||||
|
;; :preface
|
||||||
|
;; (defun embark-eglot-rename (from to)
|
||||||
|
;; "Renames the symbol at point."
|
||||||
|
;; (interactive "sRename: \nsRename %s to: ")
|
||||||
|
;; (funcall-interactively #'eglot-rename to))
|
||||||
|
;; (defun cc/clojure-local-stuff ()
|
||||||
|
;; (setq-local sesman-system 'CIDER)
|
||||||
|
;; (setq-local prettify-symbols-alist '(("fn" . "λ"))))
|
||||||
|
;; :delight ""
|
||||||
|
;; :after (tree-sitter embark cider clojure-mode)
|
||||||
|
;; :config
|
||||||
|
;; (require 'sesman)
|
||||||
|
;; (sesman-install-menu clojure-ts-mode-map)
|
||||||
|
;; (defvar-keymap embark-clj-identifier-map
|
||||||
|
;; :parent embark-identifier-map
|
||||||
|
;; "c" #'embark-eglot-rename)
|
||||||
|
;; (add-to-list 'embark-keymap-alist '(identifier . embark-clj-identifier-map))
|
||||||
|
;; :hook
|
||||||
|
;; ((clojure-ts-mode . eglot-ensure)
|
||||||
|
;; (clojure-ts-mode . prettify-symbols-mode)
|
||||||
|
;; (clojure-ts-mode . #'cc/clojure-local-stuff)
|
||||||
|
;; (clojure-ts-mode . (lambda ()
|
||||||
|
;; (sesman-install-menu clojure-mode-map)))
|
||||||
|
;; (clojurec-ts-mode . (lambda ()
|
||||||
|
;; (sesman-install-menu clojurec-mode-map)))
|
||||||
|
;; (clojurescript-ts-mode . (lambda ()
|
||||||
|
;; (sesman-install-menu clojurescript-mode-map))))
|
||||||
|
;; :mode
|
||||||
|
;; ("\\.clj\\'" . clojure-ts-mode)
|
||||||
|
;; ("\\.cljc\\'" . clojurec-ts-mode)
|
||||||
|
;; ("\\.cljs\\'" . clojurescript-ts-mode)
|
||||||
|
;; :init
|
||||||
|
;; (add-to-list 'tree-sitter-major-mode-language-alist
|
||||||
|
;; '(clojure-ts-mode . clojure))
|
||||||
|
;; (add-to-list 'tree-sitter-major-mode-language-alist
|
||||||
|
;; '(clojurec-ts-mode . clojure))
|
||||||
|
;; (add-to-list 'tree-sitter-major-mode-language-alist
|
||||||
|
;; '(clojurescript-ts-mode . clojure)))
|
||||||
|
|
||||||
|
(use-package clojure-mode
|
||||||
:preface
|
:preface
|
||||||
(defun embark-eglot-rename (from to)
|
(defun embark-eglot-rename (from to)
|
||||||
"Renames the symbol at point."
|
"Renames the symbol at point."
|
||||||
(interactive "sRename: \nsRename %s to: ")
|
(interactive "sRename: \nRename %s to: ")
|
||||||
(funcall-interactively #'eglot-rename to))
|
(funcall-interactively #'eglot-rename to))
|
||||||
(defun cc/clojure-local-stuff ()
|
|
||||||
(setq-local sesman-system 'CIDER)
|
|
||||||
(setq-local prettify-symbols-alist '(("fn" . "λ"))))
|
|
||||||
:delight ""
|
:delight ""
|
||||||
:after (tree-sitter embark cider)
|
:after (embark cider)
|
||||||
:config
|
:config
|
||||||
(require 'sesman)
|
|
||||||
(sesman-install-menu clojure-ts-mode-map)
|
|
||||||
(defvar-keymap embark-clj-identifier-map
|
(defvar-keymap embark-clj-identifier-map
|
||||||
:parent embark-identifier-map
|
:parent embark-identifier-map
|
||||||
"c" #'embark-eglot-rename)
|
"c" #'embark-eglot-rename)
|
||||||
(add-to-list 'embark-keymap-alist '(identifier . embark-clj-identifier-map))
|
(add-to-list 'embark-keymap-alist '(identifier . embark-clj-identifier-map))
|
||||||
:hook
|
:hook
|
||||||
((clojure-ts-mode . eglot-ensure)
|
(clojure-mode . (lambda ()
|
||||||
(clojure-ts-mode . prettify-symbols-mode)
|
(setq-local prettify-symbols-alist
|
||||||
(clojure-ts-mode . #'cc/clojure-local-stuff)
|
'(("(fn " . "(λ ")
|
||||||
(clojure-ts-mode . (lambda ()
|
("(comp " . "(∘ ")
|
||||||
(sesman-install-menu clojure-mode-map)))
|
("(and " . "(∧ ")
|
||||||
(clojurec-ts-mode . (lambda ()
|
("(or " . "(∨ ")
|
||||||
(sesman-install-menu clojurec-mode-map)))
|
("(not " . "(¬ "))))))
|
||||||
(clojurescript-ts-mode . (lambda ()
|
|
||||||
(sesman-install-menu clojurescript-mode-map))))
|
|
||||||
:mode
|
|
||||||
("\\.clj\\'" . #'clojure-ts-mode)
|
|
||||||
("\\.cljc\\'" . #'clojurec-ts-mode)
|
|
||||||
("\\.cljs\\'" . #'clojurescript-ts-mode)
|
|
||||||
:init
|
|
||||||
(add-to-list 'tree-sitter-major-mode-language-alist
|
|
||||||
'(clojure-ts-mode . clojure))
|
|
||||||
(add-to-list 'tree-sitter-major-mode-language-alist
|
|
||||||
'(clojurec-ts-mode . clojure))
|
|
||||||
(add-to-list 'tree-sitter-major-mode-language-alist
|
|
||||||
'(clojurescript-ts-mode . clojure)))
|
|
||||||
|
|
||||||
(use-package cider
|
(use-package cider
|
||||||
:elpaca (:host github :repo "clojure-emacs/cider" :tag "v1.12.0")
|
;; :elpaca (:host github :repo "clojure-emacs/cider" :tag "v1.12.0")
|
||||||
:delight (cider-mode '(:eval (concat " [" (cider--modeline-info) "]")))
|
:delight (cider-mode '(:eval (concat " [" (cider--modeline-info) "]")))
|
||||||
:config
|
:config
|
||||||
(evil-define-key 'insert 'cider-mode-map
|
|
||||||
"C-x C-e" #'cider-eval-last-sexp)
|
|
||||||
(evil-define-key 'normal 'cider-mode-map
|
(evil-define-key 'normal 'cider-mode-map
|
||||||
(kbd "<localleader>ce") #'cider-eval-sexp-at-point))
|
(kbd "<localleader>ce") #'cider-eval-sexp-at-point))
|
||||||
|
|
||||||
;;;;; Scheme
|
;;;;; Scheme
|
||||||
|
|
||||||
(use-package geiser
|
(use-package geiser
|
||||||
:preface
|
|
||||||
(defun my/geiser-capf ()
|
|
||||||
(setq completion-at-point-functions
|
|
||||||
(append geiser-capf--capfs
|
|
||||||
(list (cape-capf-super
|
|
||||||
#'tempel-complete
|
|
||||||
#'cape-dabbrev
|
|
||||||
#'cape-file
|
|
||||||
#'cape-dict
|
|
||||||
#'cape-line
|
|
||||||
#'cape-emoji
|
|
||||||
#'cape-keyword)))))
|
|
||||||
:custom
|
:custom
|
||||||
(geiser-chicken-match-limit 200)
|
(geiser-chicken-match-limit 200)
|
||||||
:config
|
:config
|
||||||
(defalias 'run-geiser 'geiser)
|
(defalias 'run-geiser 'geiser))
|
||||||
:hook
|
|
||||||
(geiser-mode . my/geiser-capf))
|
|
||||||
|
|
||||||
(use-package paren-face
|
(use-package paren-face
|
||||||
:hook
|
:hook
|
||||||
scheme-mode
|
scheme-mode
|
||||||
emacs-lisp-mode
|
emacs-lisp-mode
|
||||||
clojure-ts-mode)
|
clojure-ts-mode
|
||||||
|
;; :config
|
||||||
|
;; (add-hook 'scheme-mode-hook #'paren-face-mode)
|
||||||
|
;; (add-hook 'emacs-lisp-mode-hook #'paren-face-mode)
|
||||||
|
;; (add-hook 'clojure-ts-mode-hook #'paren-face-mode)
|
||||||
|
)
|
||||||
|
|
||||||
(use-package highlight-parentheses
|
(use-package highlight-parentheses
|
||||||
:hook prog-mode)
|
:hook
|
||||||
|
prog-mode
|
||||||
|
;; :config
|
||||||
|
;; (add-hook 'prog-mode-hook #'highlight-parentheses-mode)
|
||||||
|
)
|
||||||
|
|
||||||
;;;;;; Chicken Scheme
|
;;;;;; Chicken Scheme
|
||||||
(use-package scheme
|
(use-package scheme
|
||||||
:elpaca nil
|
:elpaca nil
|
||||||
:hook
|
:hook
|
||||||
(scheme-mode . eglot-ensure)
|
|
||||||
(scheme-mode . prettify-symbols-mode)
|
|
||||||
(scheme-mode . (lambda ()
|
(scheme-mode . (lambda ()
|
||||||
(setq-local prettify-symbols-alist
|
(setq-local prettify-symbols-alist
|
||||||
'(("lambda" . "λ"))))))
|
'(("(lambda " . "(λ ")
|
||||||
|
("(compose " . "(∘ ")
|
||||||
|
("(and " . "(∧ ")
|
||||||
|
("(or " . "(∨ ")
|
||||||
|
("(not " . "(¬ "))))))
|
||||||
|
|
||||||
(defun flymake-chicken-init ()
|
(defun flymake-chicken-init ()
|
||||||
(add-hook 'flymake-diagnostic-functions
|
(add-hook flymake-diagnostic-functions
|
||||||
#'flymake-chicken-backend nil t)
|
flymake-chicken-backend nil t)
|
||||||
(flymake-mode))
|
(flymake-mode))
|
||||||
|
|
||||||
(use-package geiser-chicken)
|
(use-package geiser-chicken)
|
||||||
|
@ -884,8 +926,11 @@ Point must be at the beginning of balanced expression (sexp)."
|
||||||
(code-review-auth-login-marker 'forge))
|
(code-review-auth-login-marker 'forge))
|
||||||
|
|
||||||
(use-package git-gutter
|
(use-package git-gutter
|
||||||
:delight git-gutter-mode
|
:hook
|
||||||
:hook prog-mode)
|
prog-mode
|
||||||
|
;; :config
|
||||||
|
;; (add-hook 'prog-mode-hook #'git-gutter-mode)
|
||||||
|
)
|
||||||
|
|
||||||
;;;; LaTeX
|
;;;; LaTeX
|
||||||
;; https://github.com/politza/pdf-tools/#known-problems
|
;; https://github.com/politza/pdf-tools/#known-problems
|
||||||
|
|
|
@ -69,10 +69,6 @@
|
||||||
("MOZ_ENABLE_WAYLAND" . "1")
|
("MOZ_ENABLE_WAYLAND" . "1")
|
||||||
("SSL_CERT_FILE" . "$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt")
|
("SSL_CERT_FILE" . "$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt")
|
||||||
("CHICKEN_DOC_REPOSITORY" . "$XDG_DATA_HOME/chicken/doc")
|
("CHICKEN_DOC_REPOSITORY" . "$XDG_DATA_HOME/chicken/doc")
|
||||||
;; To be removed once the nss-certs thing has been figured out
|
|
||||||
("SSL_CERT_DIR" . "$HOME/.guix-profile/etc/ssl/certs")
|
|
||||||
("SSL_CERT_FILE" . "$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt")
|
|
||||||
("GIT_SSL_CAINFO" . "$SSL_CERT_FILE")
|
|
||||||
;; ("CHICKEN_INSTALL_REPOSITORY" . "$XDG_DATA_HOME/chicken/eggs")
|
;; ("CHICKEN_INSTALL_REPOSITORY" . "$XDG_DATA_HOME/chicken/eggs")
|
||||||
;; ("CHICKEN_REPOSITORY_PATH" . "$HOME/.guix-home/profile/var/lib/chicken/11/:$XDG_DATA_HOME/chicken/eggs")
|
;; ("CHICKEN_REPOSITORY_PATH" . "$HOME/.guix-home/profile/var/lib/chicken/11/:$XDG_DATA_HOME/chicken/eggs")
|
||||||
;; ("CHICKEN_INSTALL_PREFIX" . "$HOME/.local")
|
;; ("CHICKEN_INSTALL_PREFIX" . "$HOME/.local")
|
||||||
|
@ -120,6 +116,14 @@
|
||||||
(channel
|
(channel
|
||||||
(name 'ziltis-channel)
|
(name 'ziltis-channel)
|
||||||
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
||||||
|
(channel
|
||||||
|
(name 'emacs-melpa)
|
||||||
|
(url "https://github.com/babariviere/guix-emacs")
|
||||||
|
(introduction
|
||||||
|
(make-channel-introduction
|
||||||
|
"72ca4ef5b572fea10a4589c37264fa35d4564783"
|
||||||
|
(openpgp-fingerprint
|
||||||
|
"261C A284 3452 FB01 F6DF 6CF4 F9B7 864F 2AB4 6F18"))))
|
||||||
(channel
|
(channel
|
||||||
(name 'nongnu-guix)
|
(name 'nongnu-guix)
|
||||||
(url "https://gitlab.com/nonguix/nonguix"))))
|
(url "https://gitlab.com/nonguix/nonguix"))))
|
||||||
|
@ -146,6 +150,7 @@
|
||||||
"fuzzel"
|
"fuzzel"
|
||||||
"fzf"
|
"fzf"
|
||||||
"gammastep"
|
"gammastep"
|
||||||
|
"gash"
|
||||||
"grim"
|
"grim"
|
||||||
"guile"
|
"guile"
|
||||||
"glibc-locales"
|
"glibc-locales"
|
||||||
|
@ -154,12 +159,12 @@
|
||||||
"icedove-wayland"
|
"icedove-wayland"
|
||||||
"kitty"
|
"kitty"
|
||||||
"ksshaskpass"
|
"ksshaskpass"
|
||||||
|
;; "liquidprompt" https://issues.guix.gnu.org/67942
|
||||||
"make"
|
"make"
|
||||||
"nm-tray"
|
"nm-tray"
|
||||||
"nnn"
|
"nnn"
|
||||||
"nss-certs"
|
"nss-certs"
|
||||||
"nwg-displays"
|
"nwg-displays"
|
||||||
#;"nss-certs" ; This package is broken
|
|
||||||
"openssh"
|
"openssh"
|
||||||
"password-store"
|
"password-store"
|
||||||
"pass-otp"
|
"pass-otp"
|
||||||
|
@ -169,6 +174,8 @@
|
||||||
"pipewire"
|
"pipewire"
|
||||||
"pv"
|
"pv"
|
||||||
"rsync"
|
"rsync"
|
||||||
|
"rust"
|
||||||
|
"rust-cargo"
|
||||||
"senpai"
|
"senpai"
|
||||||
"sideload"
|
"sideload"
|
||||||
"slurp"
|
"slurp"
|
||||||
|
@ -177,12 +184,74 @@
|
||||||
"swayfx"
|
"swayfx"
|
||||||
"swayidle"
|
"swayidle"
|
||||||
"swaylock-effects"
|
"swaylock-effects"
|
||||||
|
"telegram-desktop"
|
||||||
"tig"
|
"tig"
|
||||||
|
"tree-sitter"
|
||||||
"unzip"
|
"unzip"
|
||||||
"visidata"
|
"visidata"
|
||||||
"waybar"
|
"waybar"
|
||||||
|
"wireplumber-minimal"
|
||||||
"wlogout"
|
"wlogout"
|
||||||
"xdg-desktop-portal")))
|
"xdg-desktop-portal"
|
||||||
|
|
||||||
|
"emacs-el-patch"
|
||||||
|
"emacs-guix"
|
||||||
|
"emacs-org"
|
||||||
|
"emacs-org-roam"
|
||||||
|
"emacs-consult-notes"
|
||||||
|
"emacs-websocket"
|
||||||
|
"emacs-org-roam-ui"
|
||||||
|
"emacs-org-modern"
|
||||||
|
"emacs-org-rainbow-tags"
|
||||||
|
"emacs-color-theme-modern"
|
||||||
|
"emacs-moe-theme"
|
||||||
|
"emacs-catppuccin-theme"
|
||||||
|
"emacs-unicode-fonts"
|
||||||
|
"emacs-ligature"
|
||||||
|
"emacs-visual-fill-column"
|
||||||
|
"emacs-adaptive-wrap"
|
||||||
|
"emacs-keychain-environment"
|
||||||
|
"emacs-pass"
|
||||||
|
"emacs-evil"
|
||||||
|
"emacs-evil-collection"
|
||||||
|
"emacs-orderless"
|
||||||
|
"emacs-embark-consult"
|
||||||
|
"emacs-wgrep"
|
||||||
|
"emacs-vertico"
|
||||||
|
"emacs-marginalia"
|
||||||
|
"emacs-nerd-icons-completion"
|
||||||
|
"emacs-which-key"
|
||||||
|
"emacs-cape"
|
||||||
|
"emacs-corfu"
|
||||||
|
"emacs-nerd-icons-corfu"
|
||||||
|
;; "emacs-corfu-terminal"
|
||||||
|
"emacs-tempel"
|
||||||
|
"emacs-xref-union"
|
||||||
|
"emacs-goto-chg"
|
||||||
|
"emacs-evil-easymotion"
|
||||||
|
"emacs-evil-snipe"
|
||||||
|
"emacs-paredit"
|
||||||
|
"emacs-editorconfig"
|
||||||
|
"emacs-eglot"
|
||||||
|
"emacs-consult-eglot"
|
||||||
|
"emacs-tree-sitter"
|
||||||
|
"emacs-clojure-mode"
|
||||||
|
"emacs-cider"
|
||||||
|
"emacs-geiser"
|
||||||
|
"emacs-paren-face"
|
||||||
|
"emacs-highlight-parentheses"
|
||||||
|
"emacs-geiser-chicken"
|
||||||
|
"emacs-geiser-guile"
|
||||||
|
"emacs-zig-mode"
|
||||||
|
"emacs-dhall-mode"
|
||||||
|
"emacs-transient"
|
||||||
|
"emacs-magit"
|
||||||
|
"emacs-magit-todos"
|
||||||
|
"emacs-forge"
|
||||||
|
"emacs-code-review"
|
||||||
|
"emacs-git-gutter"
|
||||||
|
"emacs-envrc"
|
||||||
|
)))
|
||||||
(service home-openssh-service-type
|
(service home-openssh-service-type
|
||||||
(home-openssh-configuration
|
(home-openssh-configuration
|
||||||
(hosts
|
(hosts
|
||||||
|
|
|
@ -121,7 +121,7 @@ bindsym $mod+Shift+r exec swaymsg "focus parent; split v; exec fuzzel"
|
||||||
bindsym $mod+ctrl+l exec swaylock
|
bindsym $mod+ctrl+l exec swaylock
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
bindsym $mod+Print exec grim -g slurp - | swappy -f -
|
bindsym $mod+Print exec grim -l 9 -g "`slurp`" - | swappy -f -
|
||||||
|
|
||||||
# Drag floating windows by holding down $mod and left mouse button.
|
# Drag floating windows by holding down $mod and left mouse button.
|
||||||
# Resize them with right mouse button + $mod.
|
# Resize them with right mouse button + $mod.
|
||||||
|
|
Loading…
Reference in a new issue