summaryrefslogtreecommitdiffstats
path: root/.emacs.d
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d')
-rwxr-xr-x.emacs.d/init.el60
-rwxr-xr-x.emacs.d/jd/jd-apps.el23
-rwxr-xr-x.emacs.d/jd/jd-dev.el67
-rwxr-xr-x.emacs.d/jd/jd-exwm.el9
-rwxr-xr-x.emacs.d/jd/jd-keys.el9
-rwxr-xr-x.emacs.d/jd/jd-mu4e.el11
-rwxr-xr-x.emacs.d/jd/jd-org.el26
-rwxr-xr-x.emacs.d/jd/jd-ui.el27
8 files changed, 153 insertions, 79 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index d9183a1..090592f 100755
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -86,31 +86,41 @@
86 86
87(setq use-package-always-ensure (not jd/guix-p)) 87(setq use-package-always-ensure (not jd/guix-p))
88 88
89(defmacro use-package! (package-name 89(defun jd/generate-manifest ()
90 guix-package-name 90 "Generate GNU/Guix Emacs manifest to temp-buffer."
91 &rest body) 91 (interactive)
92 (declare (indent defun)) 92 (with-output-to-temp-buffer "*guix-emacs-packages-manifest.scm*"
93 `(progn 93 (princ (concat ";; This file is auto-generated by Emacs "
94 ,(when guix-package-name 94 "function: jd/manifest-generate-to-file \n"))
95 `(jd/add-package-to-manifest ,guix-package-name)) 95 (princ `(specifications->manifest
96 (use-package ,package-name ,@body))) 96 '(,@(mapcar #'(lambda (guix-package-name)
97 97 (concat "\""
98(defun jd/manifest-generate-to-file (file-name) 98 guix-package-name
99 "Generate GNU/Guix Emacs manifest to output file provided in: FILE-NAME." 99 "\"\n"))
100 (interactive 100 jd/manifest-list))))))
101 (list (read-from-minibuffer "Output file: " ))) 101
102 (with-temp-file file-name 102(defun use-package-normalize/:guix-package (name keyword args)
103 (insert 103 (use-package-as-one (symbol-name keyword) args
104 (with-temp-buffer 104 #'(lambda (_label arg)
105 (insert (format ";; This file is auto-generated by Emacs function: jd/manifest-generate-to-file\n%s" 105 (cond
106 `(specifications->manifest 106 ((consp arg) arg)
107 '(,@(mapcar #'(lambda (guix-package-name) 107 ((stringp arg) (list arg))
108 (concat "\"" 108 ((use-package-non-nil-symbolp arg) (symbol-name arg))
109 guix-package-name 109 (t
110 "\"\n")) 110 (use-package-error
111 jd/manifest-list))))) 111 ":pin wants an archive name (a string)"))))))
112 (pp-buffer) 112
113 (buffer-string))))) 113(defun use-package-handler/:guix-package
114 (name _keyword args rest state)
115 (let ((body (use-package-process-keywords name rest state)))
116 (use-package-concat
117 (when (consp args)
118 (mapcar #'(lambda (arg)
119 `(jd/add-package-to-manifest ,arg))
120 args))
121 body)))
122
123(add-to-list 'use-package-keywords ':guix-package)
114 124
115(jd/add-package-to-manifest "emacs") 125(jd/add-package-to-manifest "emacs")
116(jd/add-package-to-manifest "emacs-guix") 126(jd/add-package-to-manifest "emacs-guix")
diff --git a/.emacs.d/jd/jd-apps.el b/.emacs.d/jd/jd-apps.el
index a831d8d..f06430b 100755
--- a/.emacs.d/jd/jd-apps.el
+++ b/.emacs.d/jd/jd-apps.el
@@ -3,37 +3,44 @@
3 3
4;;; Code: 4;;; Code:
5 5
6(use-package! vterm "emacs-vterm" 6(use-package vterm
7 :guix-package "emacs-vterm"
7 :init 8 :init
8 (add-to-list 'project-switch-commands '(project-vterm "Vterm") t) 9 (add-to-list 'project-switch-commands '(project-vterm "Vterm") t)
9 (add-to-list 'project-kill-buffer-conditions '(major-mode . vterm-mode)) 10 (add-to-list 'project-kill-buffer-conditions
11 '(major-mode . vterm-mode))
10 (setq vterm-copy-exclude-prompt t) 12 (setq vterm-copy-exclude-prompt t)
11 :config 13 :config
12 (setq vterm-buffer-name "vterm") 14 (setq vterm-buffer-name "vterm")
13 ;; (evil-set-initial-state 'vterm-mode 'emacs) 15 ;; (evil-set-initial-state 'vterm-mode 'emacs)
14 (setq vterm-tramp-shells (append '(("ssh" "/bin/bash")) vterm-tramp-shells)) 16 (setq vterm-tramp-shells
17 (append '(("ssh" "/bin/bash")) vterm-tramp-shells))
15 18
16 ) 19 )
17 20
18(use-package! all-the-icons-dired "emacs-all-the-icons-dired" 21(use-package all-the-icons-dired
22 :guix-package "emacs-all-the-icons-dired"
19 :hook (dired-mode . all-the-icons-dired-mode)) 23 :hook (dired-mode . all-the-icons-dired-mode))
20 24
21(use-package! dired nil 25(use-package dired
22 :ensure nil 26 :ensure nil
23 :commands (dired dired-jump) 27 :commands (dired dired-jump)
24 :custom ((dired-listing-switches "-agho --group-directories-first")) 28 :custom ((dired-listing-switches "-agho --group-directories-first"))
25 :config 29 :config
26 (setq dired-kill-when-opening-new-dired-buffer t)) 30 (setq dired-kill-when-opening-new-dired-buffer t))
27 31
28(use-package! pdf-tools "emacs-pdf-tools") 32(use-package pdf-tools
33 :guix-package
34 "emacs-pdf-tools")
29 35
30(use-package! password-store "emacs-password-store" 36(use-package password-store
37 :guix-package "emacs-password-store"
31 :bind 38 :bind
32 ("C-c P p" . password-store-copy) 39 ("C-c P p" . password-store-copy)
33 ("C-c P i" . password-store-insert) 40 ("C-c P i" . password-store-insert)
34 ("C-c P g" . password-store-generate)) 41 ("C-c P g" . password-store-generate))
35 42
36(use-package! shell nil 43(use-package shell
37 :bind 44 :bind
38 ("C-c C-<return>" . shell)) 45 ("C-c C-<return>" . shell))
39 46
diff --git a/.emacs.d/jd/jd-dev.el b/.emacs.d/jd/jd-dev.el
index 4cd3f0c..569b12f 100755
--- a/.emacs.d/jd/jd-dev.el
+++ b/.emacs.d/jd/jd-dev.el
@@ -7,7 +7,8 @@
7 c-basic-offset 8 7 c-basic-offset 8
8 gdb-many-windows t) 8 gdb-many-windows t)
9 9
10(use-package! lsp-mode "emacs-lsp-mode" 10(use-package lsp-mode
11 :guix-package "emacs-lsp-mode"
11 :diminish t 12 :diminish t
12 :commands (lsp lsp-deferred) 13 :commands (lsp lsp-deferred)
13 :init 14 :init
@@ -18,10 +19,13 @@
18 :config 19 :config
19 (lsp-enable-which-key-integration t)) 20 (lsp-enable-which-key-integration t))
20 21
21(use-package! lsp-ivy "emacs-lsp-ivy" 22(use-package lsp-ivy
23 :guix-package "emacs-lsp-ivy"
22 :after lsp) 24 :after lsp)
23 25
24(use-package! paredit "emacs-paredit") 26
27(use-package paredit
28 :guix-package "emacs-paredit")
25 29
26(defun jd/lisp-mode-setup () 30(defun jd/lisp-mode-setup ()
27 (rainbow-delimiters-mode) 31 (rainbow-delimiters-mode)
@@ -34,14 +38,23 @@
34 (add-hook 'clojure-mode-hook 'jd/lisp-mode-setup) 38 (add-hook 'clojure-mode-hook 'jd/lisp-mode-setup)
35 (add-hook 'lisp-mode-hook 'jd/lisp-mode-setup))) 39 (add-hook 'lisp-mode-hook 'jd/lisp-mode-setup)))
36 40
37(use-package! rainbow-delimiters "emacs-rainbow-delimiters") 41(use-package rainbow-delimiters
42 :guix-package "emacs-rainbow-delimiters")
43
44(use-package sly
45 :guix-package "emacs-sly")
46
47(use-package geiser
48 :guix-package "emacs-geiser")
49
50(use-package geiser-racket
51 :guix-package "emacs-geiser-racket")
38 52
39(use-package! sly "emacs-sly") 53(use-package racket-mode
54 :guix-package "emacs-racket-mode")
40 55
41(use-package! geiser "emacs-geiser") 56(use-package geiser-guile
42(use-package! geiser-racket "emacs-geiser-racket") 57 :guix-package "emacs-geiser-guile"
43(use-package! racket-mode "emacs-racket-mode")
44(use-package! geiser-guile "emacs-geiser-guile"
45 :config 58 :config
46 (when jd/guix-p 59 (when jd/guix-p
47 (defun jd/guix-repl () 60 (defun jd/guix-repl ()
@@ -50,23 +63,29 @@
50 (geiser-guile-load-path (cons "~/dotfiles/guix" geiser-guile-load-path))) 63 (geiser-guile-load-path (cons "~/dotfiles/guix" geiser-guile-load-path)))
51 (geiser 'guile))))) 64 (geiser 'guile)))))
52 65
53(use-package! pyvenv "emacs-pyvenv" 66(use-package pyvenv
67 :guix-package "emacs-pyvenv"
54 :after python-mode) 68 :after python-mode)
55 69
56(use-package! typescript-mode "emacs-typescript-mode" 70(use-package typescript-mode
71 :guix-package "emacs-typescript-mode"
57 :mode ("\\.ts\\'") 72 :mode ("\\.ts\\'")
58 :config 73 :config
59 (setq typescript-indent-level 2)) 74 (setq typescript-indent-level 2))
60 75
61(use-package! cider "emacs-cider") 76(use-package cider
77 :guix-package "emacs-cider")
62 78
63(use-package! tide "emacs-tide" 79(use-package tide
80 :guix-package "emacs-tide"
64 :after (typescript-mode company web-mode)) 81 :after (typescript-mode company web-mode))
65 82
66(use-package! flycheck "emacs-flycheck" 83(use-package flycheck
84 :guix-package "emacs-flycheck"
67 :hook ((after-init . global-flycheck-mode))) 85 :hook ((after-init . global-flycheck-mode)))
68 86
69(use-package! web-mode "emacs-web-mode" 87(use-package web-mode
88 :guix-package "emacs-web-mode"
70 :mode 89 :mode
71 ("\\.ejs\\'" "\\.hbs\\'" "\\.html\\'" "\\.php\\'" "\\.[jt]sx?\\'") 90 ("\\.ejs\\'" "\\.hbs\\'" "\\.html\\'" "\\.php\\'" "\\.[jt]sx?\\'")
72 :config 91 :config
@@ -81,14 +100,17 @@
81 (setq web-mode-enable-auto-closing t) 100 (setq web-mode-enable-auto-closing t)
82 (setq web-mode-enable-current-element-highlight t)) 101 (setq web-mode-enable-current-element-highlight t))
83 102
84(use-package! yaml-mode "emacs-yaml-mode") 103(use-package yaml-mode
104 :guix-package "emacs-yaml-mode")
85 105
86(use-package! docker "emacs-docker" 106(use-package docker
107 :guix-package "emacs-docker"
87 :bind 108 :bind
88 ("C-c D d" . docker-containers) 109 ("C-c D d" . docker-containers)
89 ("C-c D D" . docker)) 110 ("C-c D D" . docker))
90 111
91(use-package! company "emacs-company" 112(use-package company
113 :guix-package "emacs-company"
92 :diminish t 114 :diminish t
93 :after lsp-mode 115 :after lsp-mode
94 :hook (lsp-mode . company-mode) 116 :hook (lsp-mode . company-mode)
@@ -102,7 +124,8 @@
102 :config 124 :config
103 (global-company-mode)) 125 (global-company-mode))
104 126
105(use-package! projectile "emacs-projectile" 127(use-package projectile
128 :guix-package "emacs-projectile"
106 :diminish projectile-mode 129 :diminish projectile-mode
107 :init 130 :init
108 (when (file-directory-p "~/Documents/code") 131 (when (file-directory-p "~/Documents/code")
@@ -112,11 +135,13 @@
112 (setq projectile-switch-project-action #'projectile-dired) 135 (setq projectile-switch-project-action #'projectile-dired)
113 (projectile-mode)) 136 (projectile-mode))
114 137
115(use-package! magit "emacs-magit" 138(use-package magit
139 :guix-package "emacs-magit"
116 :custom 140 :custom
117 (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)) 141 (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))
118 142
119(use-package! restclient "emacs-restclient") 143(use-package restclient
144 :guix-package "emacs-restclient")
120 145
121(setq sql-connection-alist 146(setq sql-connection-alist
122 '(("net47-abaks" 147 '(("net47-abaks"
diff --git a/.emacs.d/jd/jd-exwm.el b/.emacs.d/jd/jd-exwm.el
index 98b5e89..7731b01 100755
--- a/.emacs.d/jd/jd-exwm.el
+++ b/.emacs.d/jd/jd-exwm.el
@@ -4,9 +4,11 @@
4;;; Code: 4;;; Code:
5 5
6 6
7(use-package! perspective "emacs-perspective") 7(use-package perspective
8 :guix-package "emacs-perspective")
8 9
9(use-package! exwm "emacs-exwm" 10(use-package exwm
11 :guix-package "emacs-exwm"
10 :config 12 :config
11 (defun jd/exwm-update-class () 13 (defun jd/exwm-update-class ()
12 (exwm-workspace-rename-buffer exwm-class-name)) 14 (exwm-workspace-rename-buffer exwm-class-name))
@@ -105,7 +107,8 @@
105 (require 'exwm-systemtray) 107 (require 'exwm-systemtray)
106 (exwm-systemtray-enable)) 108 (exwm-systemtray-enable))
107 109
108(use-package! desktop-environment "emacs-desktop-environment" 110(use-package desktop-environment
111 :guix-package "emacs-desktop-environment"
109 :after exwm 112 :after exwm
110 :custom 113 :custom
111 (desktop-environment-brightness-small-increment "2%+") 114 (desktop-environment-brightness-small-increment "2%+")
diff --git a/.emacs.d/jd/jd-keys.el b/.emacs.d/jd/jd-keys.el
index 108c70c..a5b828b 100755
--- a/.emacs.d/jd/jd-keys.el
+++ b/.emacs.d/jd/jd-keys.el
@@ -3,7 +3,8 @@
3;; Custom keysets used in my emacs 3;; Custom keysets used in my emacs
4;;; Code: 4;;; Code:
5 5
6(use-package! multiple-cursors "emacs-multiple-cursors" 6(use-package multiple-cursors
7 :guix-package "emacs-multiple-cursors"
7 :config 8 :config
8 (global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines) 9 (global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)
9 (global-set-key (kbd "C->") 'mc/mark-next-like-this) 10 (global-set-key (kbd "C->") 'mc/mark-next-like-this)
@@ -11,7 +12,8 @@
11 (global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this)) 12 (global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this))
12 13
13 14
14(use-package! hydra "emacs-hydra" 15(use-package hydra
16 :guix-package "emacs-hydra"
15 ;; :defer t 17 ;; :defer t
16 :config 18 :config
17 (defun jd/text-scale-increase () 19 (defun jd/text-scale-increase ()
@@ -36,7 +38,8 @@
36 ("k" text-scale-decrease "out") 38 ("k" text-scale-decrease "out")
37 ("q" nil "finished" :exit t))) 39 ("q" nil "finished" :exit t)))
38 40
39(use-package! undo-tree "emacs-undo-tree" 41(use-package undo-tree
42 :guix-package "emacs-undo-tree"
40 :diminish 43 :diminish
41 :config 44 :config
42 (setq undo-tree-auto-save-history nil) 45 (setq undo-tree-auto-save-history nil)
diff --git a/.emacs.d/jd/jd-mu4e.el b/.emacs.d/jd/jd-mu4e.el
index aa0355c..b388201 100755
--- a/.emacs.d/jd/jd-mu4e.el
+++ b/.emacs.d/jd/jd-mu4e.el
@@ -3,11 +3,11 @@
3 3
4;;; Code: 4;;; Code:
5 5
6(use-package! htmlize "emacs-htmlize") 6(use-package htmlize
7 :guix-package "emacs-htmlize")
7 8
8(jd/add-package-to-manifest "isync") 9(use-package mu4e
9 10 :guix-package ("mu" "isync")
10(use-package! mu4e "mu"
11 :defer 10 11 :defer 10
12 :ensure nil 12 :ensure nil
13 :bind 13 :bind
@@ -73,7 +73,8 @@
73 (mu4e t) 73 (mu4e t)
74 (mu4e-modeline-mode nil)) 74 (mu4e-modeline-mode nil))
75 75
76(use-package! mu4e-alert "emacs-mu4e-alert" 76(use-package mu4e-alert
77 :guix-package "emacs-mu4e-alert"
77 :defer 20 78 :defer 20
78 :config 79 :config
79 (mu4e-alert-set-default-style 'libnotify) 80 (mu4e-alert-set-default-style 'libnotify)
diff --git a/.emacs.d/jd/jd-org.el b/.emacs.d/jd/jd-org.el
index ff15b59..1126155 100755
--- a/.emacs.d/jd/jd-org.el
+++ b/.emacs.d/jd/jd-org.el
@@ -5,6 +5,7 @@
5 5
6(defvar jd/org-home "~/Documents/Org") 6(defvar jd/org-home "~/Documents/Org")
7(defvar jd/org-roam-home (concat jd/org-home "/roam")) 7(defvar jd/org-roam-home (concat jd/org-home "/roam"))
8(defvar jd/org-roam-agenda (concat jd/org-home "/agenda"))
8(defvar jd/org-roam-daily-home (concat jd/org-roam-home "/daily")) 9(defvar jd/org-roam-daily-home (concat jd/org-roam-home "/daily"))
9 10
10(defun jd/org-mode-init () 11(defun jd/org-mode-init ()
@@ -15,9 +16,21 @@
15(defun jd-emacs/org-insert-date (&optional date) 16(defun jd-emacs/org-insert-date (&optional date)
16 (org-insert-time-stamp (org-read-date nil t (or date "+0d")))) 17 (org-insert-time-stamp (org-read-date nil t (or date "+0d"))))
17 18
18(use-package! org-pomodoro "emacs-org-pomodoro") 19(use-package org-pomodoro
20 :guix-package "emacs-org-pomodoro")
19 21
20(use-package! org "emacs-org" 22(use-package org-caldav
23 :guix-package "emacs-org-caldav"
24 :config
25 (setq org-caldav-url "http://jdlugosz.com:5232/jdlugosz"
26 org-caldav-calendar-id "841a6259-8fe5-a178-e326-ddbb7c767e22"
27 org-caldav-inbox (concat jd/org-roam-agenda
28 "/main.org")
29 org-caldav-files nil
30 org-icalendar-timezone "Europe/Warsaw"))
31
32(use-package org
33 :guix-package "emacs-org"
21 :pin org 34 :pin org
22 :commands (org-capture org-agenda) 35 :commands (org-capture org-agenda)
23 :hook (org-mode . jd/org-mode-init) 36 :hook (org-mode . jd/org-mode-init)
@@ -122,14 +135,16 @@
122 135
123 (add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'jd/org-babel-tangle-config)))) 136 (add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'jd/org-babel-tangle-config))))
124 137
125(use-package! org-superstar "emacs-org-superstar" 138(use-package org-superstar
139 :guix-package "emacs-org-superstar"
126 :hook (org-mode . org-superstar-mode) 140 :hook (org-mode . org-superstar-mode)
127 :init 141 :init
128 (setq org-superstar-special-todo-items t) 142 (setq org-superstar-special-todo-items t)
129 (setq org-superstar-remove-leading-stars t) 143 (setq org-superstar-remove-leading-stars t)
130 (setq org-superstar-headline-bullets-list '("◉" "○" "●" "○" "●" "○" "●"))) 144 (setq org-superstar-headline-bullets-list '("◉" "○" "●" "○" "●" "○" "●")))
131 145
132(use-package! org-roam "emacs-org-roam" 146(use-package org-roam
147 :guix-package "emacs-org-roam"
133 :custom 148 :custom
134 (org-roam-directory (file-truename jd/org-roam-home)) 149 (org-roam-directory (file-truename jd/org-roam-home))
135 :bind (("C-c n l" . org-roam-buffer-toggle) 150 :bind (("C-c n l" . org-roam-buffer-toggle)
@@ -194,7 +209,8 @@
194 209
195 (org-roam-db-autosync-mode)) 210 (org-roam-db-autosync-mode))
196 211
197(use-package! ox-pandoc "emacs-ox-pandoc") 212(use-package ox-pandoc
213 :guix-package "emacs-ox-pandoc")
198 214
199(provide 'jd-org) 215(provide 'jd-org)
200 216
diff --git a/.emacs.d/jd/jd-ui.el b/.emacs.d/jd/jd-ui.el
index ccaf369..992ba17 100755
--- a/.emacs.d/jd/jd-ui.el
+++ b/.emacs.d/jd/jd-ui.el
@@ -29,18 +29,22 @@
29 29
30(require 'diminish) 30(require 'diminish)
31 31
32(use-package! doom-modeline "emacs-doom-modeline" 32(use-package doom-modeline
33 :guix-package "emacs-doom-modeline"
33 :config 34 :config
34 (doom-modeline-mode)) 35 (doom-modeline-mode))
35 36
36(use-package! solarized-theme "emacs-solarized-theme" 37(use-package solarized-theme
38 :guix-package "emacs-solarized-theme"
37 :config 39 :config
38 (load-theme 'solarized-dark-high-contrast t)) 40 (load-theme 'solarized-dark-high-contrast t))
39 41
40 42
41(use-package! diminish "emacs-diminish") 43(use-package diminish
44 :guix-package "emacs-diminish")
42 45
43(use-package! hl-todo "emacs-hl-todo" 46(use-package hl-todo
47 :guix-package "emacs-hl-todo"
44 :init 48 :init
45 (setq hl-todo-keyword-faces 49 (setq hl-todo-keyword-faces
46 '(("TODO" . "#FF0000") 50 '(("TODO" . "#FF0000")
@@ -55,27 +59,32 @@
55 (counsel-load-theme) 59 (counsel-load-theme)
56 (run-hooks 'jd/load-theme-hook)) 60 (run-hooks 'jd/load-theme-hook))
57 61
58(use-package! ivy "emacs-ivy" 62(use-package ivy
63 :guix-package "emacs-ivy"
59 :diminish 64 :diminish
60 :bind 65 :bind
61 (("C-s" . swiper)) 66 (("C-s" . swiper))
62 :config 67 :config
63 (ivy-mode 1)) 68 (ivy-mode 1))
64 69
65(use-package! counsel "emacs-counsel" 70(use-package counsel
71 :guix-package "emacs-counsel"
66 :diminish t 72 :diminish t
67 :config 73 :config
68 (counsel-mode 1)) 74 (counsel-mode 1))
69 75
70(use-package! which-key "emacs-which-key" 76(use-package which-key
77 :guix-package "emacs-which-key"
71 :diminish 78 :diminish
72 :config 79 :config
73 (which-key-mode) 80 (which-key-mode)
74 (setq which-key-idle-delay 0.3)) 81 (setq which-key-idle-delay 0.3))
75 82
76(use-package! all-the-icons "emacs-all-the-icons") 83(use-package all-the-icons
84 :guix-package "emacs-all-the-icons")
77 85
78(use-package! beacon "emacs-beacon" 86(use-package beacon
87 :guix-package "emacs-beacon"
79 :config 88 :config
80 (beacon-mode 1)) 89 (beacon-mode 1))
81 90