source: dotfiles/guix/rde/src/wkz-p1.scm@ 5401ac6

Last change on this file since 5401ac6 was 5401ac6, checked in by Mikhail Kirillov <mikhail.kirillov@…>, on Apr 23, 2023 at 8:07:12 PM

Add node and php

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