source: dotfiles/guix/rde/src/wkz-p1.scm@ 60b943c4

Last change on this file since 60b943c4 was 60b943c4, checked in by Mikhail Kirillov <mikhail.kirillov@…>, on Apr 23, 2023 at 10:44:26 PM

Add more emacs features to rde

  • Property mode set to 100644
File size: 6.8 KB
Line 
1(define-module (wkz-p1)
2 #:use-module (rde features)
3 #:use-module (rde features base)
4 #:use-module (rde features documentation)
5 #:use-module (rde features docker)
6 #:use-module (rde features linux)
7 #:use-module (rde features networking)
8 #:use-module (rde features wm)
9 #:use-module (rde features finance)
10 #:use-module (rde features mail)
11 #:use-module (rde features irc)
12 #:use-module (rde features video)
13 #:use-module (rde features keyboard)
14 #:use-module (rde features fontutils)
15 #:use-module (rde features emacs)
16 #:use-module (rde features emacs-xyz)
17 #:use-module (rde features shellutils)
18 #:use-module (rde features terminals)
19 #:use-module (rde features shells)
20 #:use-module (rde features version-control)
21 #:use-module (rde features virtualization)
22 ;; #:use-module (rde features web)
23 #:use-module (rde features xdg)
24 #:use-module (gnu home-services base)
25 #:use-module (gnu home services)
26 #:use-module (gnu home-services wm)
27 #:use-module (gnu services)
28
29 #:use-module (rde packages)
30 #:use-module (guix gexp))
31
32(define home-extra-packages-service
33 (simple-service
34 'home-profile-extra-packages
35 home-profile-service-type
36 (append
37 (strings->packages
38 ;; "calibre"
39 "glibc-locales"
40 "icecat" ;; "nyxt"
41 ;; "ungoogled-chromium-wayland" "ublock-origin-chromium"
42
43 "alsa-utils" "pamixer" "yt-dlp"
44 "pavucontrol" "wev"
45 "imagemagick"
46 "obs" "obs-wlrobs"
47 "recutils" "binutils" "make"
48
49 ;; Web tech
50 "node" "php" "docker-compose"
51
52 "papirus-icon-theme" "arc-theme"
53 "thunar" "fd"
54 "glib:bin"
55 "wob" "brightnessctl"
56
57 "ffmpeg"))))
58
59(define sway-extra-config-service
60 (simple-service
61 'sway-extra-config
62 home-sway-service-type
63 `((output DP-2 scale 2)
64 ,@(map (lambda (x) `(workspace ,x output DP-2)) (iota 8 1))
65
66 (bindswitch --reload --locked lid:on exec /run/setuid-programs/swaylock)
67
68 (set $WOBSOCK $XDG_RUNTIME_DIR/wob.sock)
69 (exec rm -f $WOBSOCK && mkfifo $WOBSOCK && tail -f $WOBSOCK \| ,(file-append (@ (gnu packages xdisorg) wob) "/bin/wob"))
70
71 ;; Brightness control
72 ;; (bindsym --locked XF86MonBrightnessUp exec
73 ;; ,(file-append (@ (gnu packages linux) brightnessctl) "/bin/brightnessctl")
74 ;; set 5%+)
75 ;; (bindsym --locked XF86MonBrightnessDown exec
76 ;; ,(file-append (@ (gnu packages linux) brightnessctl) "/bin/brightnessctl")
77 ;; set 5%-)
78
79 ;; Audio control
80 ;; (bindsym --locked XF86AudioLowerVolume exec
81 ;; ,(file-append (@ (gnu packages pulseaudio) pamixer) "/bin/pamixer")
82 ;; -ud 2)
83 ;; (bindsym --locked XF86AudioMute exec
84 ;; ,(file-append (@ (gnu packages pulseaudio) pamixer) "/bin/pamixer")
85 ;; --toggle-mute)
86
87 (bindsym $mod+Ctrl+o focus output left)
88 (input type:touchpad
89 ((events disabled)
90 (tap disabled)))
91
92 ;; (xwayland disable)
93 (bindsym $mod+Shift+Return exec emacs))))
94
95(define minimal-rde-config
96 (rde-config
97 (features
98 (list
99 ;; %general-features
100 (feature-user-info
101 #:user-name "w96k"
102 #:full-name "Mikhail Kirillov"
103 #:email "w96k.ru@gmail.com"
104 #:emacs-advanced-user? #t)
105
106 (feature-backlight)
107 (feature-pipewire)
108
109 (feature-vterm)
110 (feature-bash)
111 (feature-direnv)
112
113 (feature-qemu)
114
115 (feature-base-services)
116 (feature-base-packages)
117
118 (feature-desktop-services)
119 (feature-hidpi)
120 (feature-foreign-distro)
121
122 (feature-sway)
123 (feature-emacs
124 #:default-application-launcher? #t)
125
126 (feature-keyboard
127 ;; To get all available options, layouts and variants run:
128 ;; cat `guix build xkeyboard-config`/share/X11/xkb/rules/evdev.lst
129 #:keyboard-layout
130 (keyboard-layout
131 "us,ru"
132 "qwerty"
133 #:options '("grp:shifts_toggle" "ctrl:nocaps")))
134
135 (feature-irc-settings
136 #:irc-accounts (list
137 (irc-account
138 (id 'libera)
139 (network "irc.libera.chat")
140 (nick "w96k")
141 (bouncer? #t))))
142
143 ;; (feature-alternative-frontends)
144
145 (feature-docker)
146
147 (feature-youtube-dl)
148
149 (feature-fonts
150 #:default-font-size 13)
151
152 (feature-emacs-appearance)
153 (feature-emacs-faces)
154 (feature-emacs-modus-themes)
155
156 (feature-emacs-completion
157 #:mini-frame? #f
158 #:marginalia-align 'right)
159 (feature-emacs-corfu
160 #:corfu-doc-auto #f)
161 (feature-emacs-vertico)
162
163 (feature-emacs-tramp)
164 (feature-emacs-project)
165 (feature-compile)
166 (feature-emacs-perspective)
167 (feature-emacs-input-methods)
168 (feature-emacs-which-key)
169 (feature-emacs-monocle)
170
171 (feature-emacs-message)
172
173
174 (feature-emacs-erc
175 #:erc-log? #f
176 #:erc-autojoin-channels-alist '((Libera.Chat "#rde")))
177 (feature-emacs-telega)
178 (feature-emacs-elpher)
179
180 (feature-emacs-pdf-tools)
181 ;; (feature-emacs-nov-el)
182 (feature-emacs-org)
183 (feature-emacs-org-roam
184 #:org-roam-directory "~/projects/at-w96k/content/digarden/pages/"
185 )
186 (feature-emacs-org-agenda)
187 (feature-emacs-org-protocol)
188 (feature-emacs-calendar)
189
190
191 (feature-emacs-shell)
192 (feature-emacs-eshell)
193 (feature-emacs-re-builder)
194
195 (feature-emacs-elisp)
196
197 (feature-emacs-spelling)
198 (feature-emacs-dashboard)
199
200 (feature-emacs-browse-url)
201
202 ;; TODO: Remove auctex dependency, which interjects in texinfo-mode.
203 ;; (feature-emacs-citar)
204
205 ;; (feature-emacs-smartparens
206 ;; #:show-smartparens? #t)
207
208 (feature-emacs-pulseaudio-control)
209 (feature-emacs-geiser)
210 (feature-emacs-guix)
211 (feature-emacs-eglot)
212 (feature-emacs-help)
213 (feature-emacs-info)
214
215 (feature-manpages)
216
217 (feature-xdg)
218
219 (feature-git #:sign-commits? #f)
220
221 (feature-custom-services
222 #:feature-name-prefix 'w96k
223 #:home-services
224 (list
225 home-extra-packages-service
226 sway-extra-config-service
227 ))
228
229 (feature-sway-run-on-tty
230 #:sway-tty-number 2)
231 (feature-sway-screenshot)
232 ;; (feature-sway-statusbar
233 ;; #:use-global-fonts? #f)
234 (feature-waybar
235 #:extra-config '(((position . bottom)))
236 #:transitions? #t
237 #:waybar-modules
238 (list
239 (waybar-temperature)
240 (waybar-cpu)
241 (waybar-memory)
242 (waybar-disk)
243 (waybar-sway-workspaces)
244 (waybar-tray)
245 (waybar-idle-inhibitor)
246 (waybar-sway-language)
247 (waybar-microphone)
248 (waybar-volume)
249 (waybar-battery #:intense? #t)
250 (waybar-clock)))
251 (feature-swayidle)
252
253 (feature-swaylock
254 #:swaylock (@ (gnu packages wm) swaylock-effects)
255 ;; The blur on lock screen is not privacy-friendly.
256 #:extra-config '((screenshots)
257 (effect-blur . 7x5)
258 (clock)))
259 ))))
260
261(rde-config-home-environment minimal-rde-config)
Note: See TracBrowser for help on using the repository browser.