.
This commit is contained in:
parent
6e3fd648cf
commit
925301ae9a
6 changed files with 262 additions and 122 deletions
|
@ -7,6 +7,14 @@
|
|||
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
||||
(openpgp-fingerprint
|
||||
"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
|
||||
(name 'ziltis-channel)
|
||||
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
||||
|
|
11
config.org
11
config.org
|
@ -134,6 +134,14 @@ This adds the Nonguix channel.
|
|||
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
||||
(openpgp-fingerprint
|
||||
"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
|
||||
(name 'ziltis-channel)
|
||||
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
||||
|
@ -152,6 +160,7 @@ This adds the Nonguix channel.
|
|||
- network-manager
|
||||
- podman
|
||||
- readline
|
||||
- xf86-video-amdgpu
|
||||
|
||||
#+NAME: root-package-block
|
||||
#+begin_src scheme :noweb no-export
|
||||
|
@ -342,7 +351,7 @@ This is the full operating system specification.
|
|||
(name "zilti")
|
||||
(group "users")
|
||||
(supplementary-groups
|
||||
'("users" "wheel" "netdev" "audio" "video" "libvirt" "seat")))
|
||||
'("avahi" "users" "wheel" "netdev" "audio" "cdrom" "video" "libvirt" "seat")))
|
||||
%base-user-accounts))
|
||||
<<root-package-block>>
|
||||
<<root-services-block>>
|
||||
|
|
13
config.scm
13
config.scm
|
@ -69,7 +69,7 @@
|
|||
(name "zilti")
|
||||
(group "users")
|
||||
(supplementary-groups
|
||||
'("users" "wheel" "netdev" "audio" "video" "libvirt" "seat")))
|
||||
'("avahi" "users" "wheel" "netdev" "audio" "cdrom" "video" "libvirt" "seat")))
|
||||
%base-user-accounts))
|
||||
(packages
|
||||
(append
|
||||
|
@ -81,7 +81,8 @@
|
|||
nss-certs
|
||||
network-manager
|
||||
podman
|
||||
readline)
|
||||
readline
|
||||
xf86-video-amdgpu)
|
||||
|
||||
%base-packages))
|
||||
(services
|
||||
|
@ -178,6 +179,14 @@
|
|||
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
||||
(openpgp-fingerprint
|
||||
"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
|
||||
(name 'ziltis-channel)
|
||||
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
|
||||
|
|
|
@ -82,11 +82,11 @@
|
|||
(add-hook 'after-init-hook #'elpaca-process-queues)
|
||||
(elpaca `(,@elpaca-order))
|
||||
|
||||
;;;;; use-package integration
|
||||
;; Use-Package Integration
|
||||
|
||||
(elpaca elpaca-use-package
|
||||
(elpaca-use-package-mode)
|
||||
(setq elpaca-use-package-by-default t))
|
||||
(setq elpaca-use-package-by-default nil))
|
||||
(elpaca-wait)
|
||||
|
||||
;;;; Package Management Configuration
|
||||
|
@ -113,6 +113,7 @@
|
|||
;;;; Emacs
|
||||
(use-package emacs
|
||||
:elpaca nil
|
||||
:after org
|
||||
:custom
|
||||
(completion-cycle-threshold 10)
|
||||
(display-time-mode t)
|
||||
|
@ -120,6 +121,7 @@
|
|||
(enable-remote-dir-locals t)
|
||||
(fill-column 100)
|
||||
(global-hl-line-mode t)
|
||||
(global-prettify-symbols-mode t)
|
||||
(indent-tabs-mode nil)
|
||||
(menu-bar-mode nil)
|
||||
(minibuffer-prompt-properties (read-only t cursor-intangible t face minibuffer-prompt))
|
||||
|
@ -131,7 +133,8 @@
|
|||
:custom-face
|
||||
;;(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"))))
|
||||
(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
|
||||
(minibuffer-setup . cursor-intangible-mode)
|
||||
:config
|
||||
|
@ -139,11 +142,23 @@
|
|||
(global-display-fill-column-indicator-mode t)
|
||||
(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
|
||||
(use-package org
|
||||
:elpaca nil
|
||||
:preface
|
||||
(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")
|
||||
:after visual-fill-column
|
||||
:ensure t
|
||||
|
@ -155,12 +170,12 @@
|
|||
(org-mode . org-indent-mode)
|
||||
(org-src-mode . hack-local-variables)
|
||||
(org-mode . visual-line-mode)
|
||||
(org-mode . set-buffer-variable-pitch)
|
||||
:config
|
||||
(setq org-directory "~/org")
|
||||
(add-to-list 'org-modules 'collector))
|
||||
|
||||
(use-package org-roam
|
||||
:ensure t
|
||||
:custom
|
||||
(org-roam-directory "~/org/roam")
|
||||
:config
|
||||
|
@ -171,11 +186,9 @@
|
|||
(consult-notes-org-roam-mode t))
|
||||
|
||||
(use-package websocket
|
||||
:ensure t
|
||||
:after org-roam)
|
||||
|
||||
(use-package org-roam-ui
|
||||
:ensure t
|
||||
:after org-roam
|
||||
:custom
|
||||
(org-roam-ui-sync-theme t)
|
||||
|
@ -184,10 +197,9 @@
|
|||
(org-roam-ui-open-on-start t))
|
||||
|
||||
(use-package org-modern
|
||||
:ensure t
|
||||
:hook
|
||||
((org-mode . org-modern-mode)
|
||||
(org-agenda-finalize . org-modern-agenda)))
|
||||
(org-mode . org-modern-mode)
|
||||
(org-agenda-finalize . org-modern-agenda))
|
||||
|
||||
(use-package org-rainbow-tags
|
||||
:hook
|
||||
|
@ -217,7 +229,7 @@
|
|||
:config
|
||||
(ligature-set-ligatures
|
||||
't
|
||||
'( ;; SS01
|
||||
'(;; SS01
|
||||
"==" "===" "=/=" "!=" "!==" "/=" "/==" "~~" "=~" "!~"
|
||||
;; SS02
|
||||
">=" "<="
|
||||
|
@ -243,7 +255,6 @@
|
|||
(add-to-list 'default-frame-alist '(alpha-background . 90))
|
||||
|
||||
(use-package lambda-line
|
||||
;;:straight (:type git :host github :repo "lambda-emacs/lambda-line")
|
||||
:elpaca (:host github :repo "lambda-emacs/lambda-line")
|
||||
:custom
|
||||
(lambda-line-icon-time t) ;; requires ClockFace font (see below)
|
||||
|
@ -280,7 +291,6 @@
|
|||
(setq mode-line-format (list "%_"))))
|
||||
|
||||
(use-package lambda-themes
|
||||
;;:straight (:type git :host github :repo "lambda-emacs/lambda-themes")
|
||||
:elpaca (:host github :repo "lambda-emacs/lambda-themes")
|
||||
:custom
|
||||
(lambda-themes-set-italic-comments t)
|
||||
|
@ -297,11 +307,16 @@
|
|||
(visual-fill-column-enable-sensible-window-split t)
|
||||
:hook
|
||||
(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
|
||||
:config
|
||||
(setq-default adaptive-wrap-extra-indent 4)
|
||||
;;(add-hook 'visual-line-mode-hook #'adaptive-wrap-prefix-mode)
|
||||
:hook
|
||||
(visual-line-mode . adaptive-wrap-prefix-mode))
|
||||
|
||||
|
@ -311,12 +326,9 @@
|
|||
(keychain-refresh-environment))
|
||||
|
||||
(use-package pass)
|
||||
(use-package password-store)
|
||||
(use-package password-store-otp)
|
||||
|
||||
;;;; Evil Mode
|
||||
(use-package evil
|
||||
;; :after evil-leader
|
||||
:ensure t
|
||||
:init
|
||||
(setq evil-want-keybinding nil
|
||||
|
@ -408,11 +420,13 @@
|
|||
:commands
|
||||
which-key-setup-minibuffer
|
||||
:init
|
||||
(which-key-setup-minibuffer))
|
||||
(which-key-setup-minibuffer)
|
||||
:config
|
||||
(which-key-mode t))
|
||||
|
||||
;;;;; Code Completion
|
||||
(use-package cape
|
||||
:preface
|
||||
:config
|
||||
(defun my/capf ()
|
||||
(setq completion-at-point-functions
|
||||
(list (cape-capf-super
|
||||
|
@ -423,11 +437,34 @@
|
|||
#'cape-line
|
||||
#'cape-emoji
|
||||
#'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)
|
||||
:hook
|
||||
(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)
|
||||
"Sort CANDIDATES using both display-sort-function and corfu-sort-function."
|
||||
|
@ -473,6 +510,7 @@
|
|||
(use-package tempel)
|
||||
|
||||
(use-package xref-union
|
||||
:elpaca t
|
||||
:hook
|
||||
cider-connected)
|
||||
|
||||
|
@ -484,15 +522,17 @@
|
|||
("g;" . 'goto-last-change-reverse)))
|
||||
|
||||
(use-package evil-snipe
|
||||
:delight (evil-snipe-local-mode " ")
|
||||
:after evil-easymotion
|
||||
:custom
|
||||
(evil-snipe-scope 'whole-visible)
|
||||
(evil-snipe-repeat-scope 'whole-buffer)
|
||||
(evil-snipe-spillover-scope 'whole-buffer)
|
||||
(evil-snipe-tab-increment t)
|
||||
:commands
|
||||
evil-snipe-override-mode
|
||||
:init
|
||||
(evil-snipe-override-mode 1)
|
||||
:hook
|
||||
evil-mode
|
||||
(evil-mode . evil-snipe-override-mode)
|
||||
(magit-mode . turn-off-evil-snipe-override-mode)
|
||||
;; See https://github.com/hlissner/evil-snipe/issues/95
|
||||
;; :config
|
||||
|
@ -503,6 +543,7 @@
|
|||
)
|
||||
|
||||
(use-package evil-easymotion
|
||||
:after evil
|
||||
:config
|
||||
(evilem-default-keybindings "<leader>"))
|
||||
|
||||
|
@ -553,21 +594,20 @@ Point must be at the beginning of balanced expression (sexp)."
|
|||
(looking-back (rx (or ")" "}" "]"))))
|
||||
|
||||
;;;;; Basic
|
||||
(use-package symex
|
||||
:custom
|
||||
(symex-modal-backend 'evil)
|
||||
:config
|
||||
(symex-initialize)
|
||||
:bind
|
||||
(:map evil-insert-state-map
|
||||
("C-ß" . #'symex-mode-interface)))
|
||||
;; (use-package symex
|
||||
;; :custom
|
||||
;; (symex-modal-backend 'evil)
|
||||
;; :config
|
||||
;; (symex-initialize)
|
||||
;; :bind
|
||||
;; (:map evil-insert-state-map
|
||||
;; ("C-ß" . #'symex-mode-interface)))
|
||||
|
||||
(use-package paredit
|
||||
:hook
|
||||
clojure-ts-mode
|
||||
emacs-lisp-mode
|
||||
scheme-mode
|
||||
: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
|
||||
(kbd "r") (conditional-keybind #'looking-at-opening-paren
|
||||
#'paredit-raise-sexp)
|
||||
|
@ -580,10 +620,13 @@ Point must be at the beginning of balanced expression (sexp)."
|
|||
(kbd ">") (conditional-keybind #'being-past-closing-paren
|
||||
#'cc/slurp-forward)
|
||||
(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
|
||||
;; :delight (smartparens-mode " ")
|
||||
;; :hook
|
||||
;; (smartparens-mode . show-smartparens-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))))
|
||||
|
||||
(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
|
||||
(eglot-connect-timeout 90)
|
||||
(eglot-autoshutdown t)
|
||||
(eglot-report-progress t)
|
||||
:config
|
||||
(defun eglot-mode ()
|
||||
(eglot-inlay-hints-mode +1)
|
||||
(my/eglot-capf))
|
||||
(setq-default eglot-workspace-configuration
|
||||
'((clojure-lsp (maxCompletions . 300))))
|
||||
(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))
|
||||
nil 'local)))
|
||||
(eglot-managed-mode . eglot-inlay-hints-mode)
|
||||
(eglot-managed-mode . my/eglot-capf))
|
||||
(clojure-mode . eglot-ensure))
|
||||
|
||||
(use-package consult-eglot
|
||||
:after (consult eglot))
|
||||
|
||||
(use-package tree-sitter
|
||||
:ensure t)
|
||||
|
||||
;;;;; 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
|
||||
(defun embark-eglot-rename (from to)
|
||||
"Renames the symbol at point."
|
||||
(interactive "sRename: \nsRename %s to: ")
|
||||
(interactive "sRename: \nRename %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)
|
||||
:after (embark cider)
|
||||
: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)))
|
||||
(clojure-mode . (lambda ()
|
||||
(setq-local prettify-symbols-alist
|
||||
'(("(fn " . "(λ ")
|
||||
("(comp " . "(∘ ")
|
||||
("(and " . "(∧ ")
|
||||
("(or " . "(∨ ")
|
||||
("(not " . "(¬ "))))))
|
||||
|
||||
(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) "]")))
|
||||
:config
|
||||
(evil-define-key 'insert 'cider-mode-map
|
||||
"C-x C-e" #'cider-eval-last-sexp)
|
||||
(evil-define-key 'normal 'cider-mode-map
|
||||
(kbd "<localleader>ce") #'cider-eval-sexp-at-point))
|
||||
|
||||
;;;;; Scheme
|
||||
|
||||
(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
|
||||
(geiser-chicken-match-limit 200)
|
||||
:config
|
||||
(defalias 'run-geiser 'geiser)
|
||||
:hook
|
||||
(geiser-mode . my/geiser-capf))
|
||||
(defalias 'run-geiser 'geiser))
|
||||
|
||||
(use-package paren-face
|
||||
:hook
|
||||
scheme-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
|
||||
:hook prog-mode)
|
||||
:hook
|
||||
prog-mode
|
||||
;; :config
|
||||
;; (add-hook 'prog-mode-hook #'highlight-parentheses-mode)
|
||||
)
|
||||
|
||||
;;;;;; Chicken Scheme
|
||||
(use-package scheme
|
||||
:elpaca nil
|
||||
:hook
|
||||
(scheme-mode . eglot-ensure)
|
||||
(scheme-mode . prettify-symbols-mode)
|
||||
(scheme-mode . (lambda ()
|
||||
(setq-local prettify-symbols-alist
|
||||
'(("lambda" . "λ"))))))
|
||||
'(("(lambda " . "(λ ")
|
||||
("(compose " . "(∘ ")
|
||||
("(and " . "(∧ ")
|
||||
("(or " . "(∨ ")
|
||||
("(not " . "(¬ "))))))
|
||||
|
||||
(defun flymake-chicken-init ()
|
||||
(add-hook 'flymake-diagnostic-functions
|
||||
#'flymake-chicken-backend nil t)
|
||||
(add-hook flymake-diagnostic-functions
|
||||
flymake-chicken-backend nil t)
|
||||
(flymake-mode))
|
||||
|
||||
(use-package geiser-chicken)
|
||||
|
@ -884,8 +926,11 @@ Point must be at the beginning of balanced expression (sexp)."
|
|||
(code-review-auth-login-marker 'forge))
|
||||
|
||||
(use-package git-gutter
|
||||
:delight git-gutter-mode
|
||||
:hook prog-mode)
|
||||
:hook
|
||||
prog-mode
|
||||
;; :config
|
||||
;; (add-hook 'prog-mode-hook #'git-gutter-mode)
|
||||
)
|
||||
|
||||
;;;; LaTeX
|
||||
;; https://github.com/politza/pdf-tools/#known-problems
|
||||
|
|
|
@ -69,10 +69,6 @@
|
|||
("MOZ_ENABLE_WAYLAND" . "1")
|
||||
("SSL_CERT_FILE" . "$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt")
|
||||
("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_REPOSITORY_PATH" . "$HOME/.guix-home/profile/var/lib/chicken/11/:$XDG_DATA_HOME/chicken/eggs")
|
||||
;; ("CHICKEN_INSTALL_PREFIX" . "$HOME/.local")
|
||||
|
@ -120,6 +116,14 @@
|
|||
(channel
|
||||
(name 'ziltis-channel)
|
||||
(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
|
||||
(name 'nongnu-guix)
|
||||
(url "https://gitlab.com/nonguix/nonguix"))))
|
||||
|
@ -146,6 +150,7 @@
|
|||
"fuzzel"
|
||||
"fzf"
|
||||
"gammastep"
|
||||
"gash"
|
||||
"grim"
|
||||
"guile"
|
||||
"glibc-locales"
|
||||
|
@ -154,12 +159,12 @@
|
|||
"icedove-wayland"
|
||||
"kitty"
|
||||
"ksshaskpass"
|
||||
;; "liquidprompt" https://issues.guix.gnu.org/67942
|
||||
"make"
|
||||
"nm-tray"
|
||||
"nnn"
|
||||
"nss-certs"
|
||||
"nwg-displays"
|
||||
#;"nss-certs" ; This package is broken
|
||||
"openssh"
|
||||
"password-store"
|
||||
"pass-otp"
|
||||
|
@ -169,6 +174,8 @@
|
|||
"pipewire"
|
||||
"pv"
|
||||
"rsync"
|
||||
"rust"
|
||||
"rust-cargo"
|
||||
"senpai"
|
||||
"sideload"
|
||||
"slurp"
|
||||
|
@ -177,12 +184,74 @@
|
|||
"swayfx"
|
||||
"swayidle"
|
||||
"swaylock-effects"
|
||||
"telegram-desktop"
|
||||
"tig"
|
||||
"tree-sitter"
|
||||
"unzip"
|
||||
"visidata"
|
||||
"waybar"
|
||||
"wireplumber-minimal"
|
||||
"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
|
||||
(home-openssh-configuration
|
||||
(hosts
|
||||
|
|
|
@ -121,7 +121,7 @@ bindsym $mod+Shift+r exec swaymsg "focus parent; split v; exec fuzzel"
|
|||
bindsym $mod+ctrl+l exec swaylock
|
||||
|
||||
# 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.
|
||||
# Resize them with right mouse button + $mod.
|
||||
|
|
Loading…
Reference in a new issue