source: dotfiles/guix/rde/src/wkz-p1.scm@ 3e76cbf

Last change on this file since 3e76cbf was 3e76cbf, checked in by Mikhail Kirillov <mikhail.kirillov@…>, on Apr 21, 2023 at 11:41:44 PM

Add audio control to sway

  • Property mode set to 100644
File size: 5.6 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 "papirus-icon-theme" "arc-theme"
49 "thunar" "fd"
50 "glib:bin"
51 "wob" "brightnessctl"
52
53 "ffmpeg"))))
54
55(define sway-extra-config-service
56 (simple-service
57 'sway-extra-config
58 home-sway-service-type
59 `((output DP-2 scale 2)
60 ,@(map (lambda (x) `(workspace ,x output DP-2)) (iota 8 1))
61
62 (bindswitch --reload --locked lid:on exec /run/setuid-programs/swaylock)
63
64 ;; Brightness control
65 (bindsym --locked XF86MonBrightnessUp exec
66 ,(file-append (@ (gnu packages linux) brightnessctl) "/bin/brightnessctl")
67 set 5%+)
68 (bindsym --locked XF86MonBrightnessDown exec
69 ,(file-append (@ (gnu packages linux) brightnessctl) "/bin/brightnessctl")
70 set 5%-)
71
72 ;; Audio control
73 (bindsym --locked XF86AudioLowerVolume exec
74 ,(file-append (@ (gnu packages pulseaudio) pamixer) "/bin/pamixer")
75 -ud 2)
76 (bindsym --locked XF86AudioMute exec
77 ,(file-append (@ (gnu packages pulseaudio) pamixer) "/bin/pamixer")
78 --toggle-mute)
79
80 (bindsym $mod+Ctrl+o focus output left)
81 (input type:touchpad
82 ((tap enabled)))
83
84 ;; (xwayland disable)
85 (bindsym $mod+Shift+Return exec emacs))))
86
87(define minimal-rde-config
88 (rde-config
89 (features
90 (list
91 ;; %general-features
92 (feature-user-info
93 #:user-name "w96k"
94 #:full-name "Mikhail Kirillov"
95 #:email "w96k.ru@gmail.com"
96 #:emacs-advanced-user? #t)
97
98 (feature-vterm)
99 (feature-bash)
100 (feature-direnv)
101
102 (feature-qemu)
103
104 (feature-base-services)
105 (feature-base-packages)
106
107 (feature-desktop-services)
108 (feature-hidpi)
109 (feature-foreign-distro)
110
111 (feature-sway)
112 (feature-emacs
113 #:default-application-launcher? #t)
114
115 (feature-keyboard
116 ;; To get all available options, layouts and variants run:
117 ;; cat `guix build xkeyboard-config`/share/X11/xkb/rules/evdev.lst
118 #:keyboard-layout
119 (keyboard-layout
120 "us,ru"
121 "qwerty"
122 #:options '("grp:shifts_toggle" "ctrl:nocaps")))
123
124 ;; (feature-alternative-frontends)
125
126 (feature-youtube-dl)
127
128 (feature-emacs-appearance)
129 ;; (feature-emacs-faces)
130 (feature-emacs-modus-themes)
131
132 (feature-emacs-completion
133 #:mini-frame? #f
134 #:marginalia-align 'right)
135 (feature-emacs-corfu
136 #:corfu-doc-auto #f)
137 (feature-emacs-vertico)
138
139 (feature-emacs-tramp)
140 (feature-emacs-project)
141 (feature-compile)
142 (feature-emacs-perspective)
143 (feature-emacs-input-methods)
144 (feature-emacs-which-key)
145 (feature-emacs-dired)
146 (feature-emacs-eshell)
147 (feature-emacs-monocle)
148
149 (feature-emacs-message)
150 ;; (feature-emacs-erc
151 ;; #:erc-log? #f
152 ;; #:erc-autojoin-channels-alist '((Libera.Chat "#rde")))
153 (feature-emacs-telega)
154 (feature-emacs-elpher)
155
156 (feature-emacs-pdf-tools)
157 ;; (feature-emacs-nov-el)
158 (feature-emacs-org)
159 (feature-emacs-org-roam
160 #:org-roam-directory "~/projects/at-w96k/content/digarden/pages/"
161 )
162 (feature-emacs-org-agenda)
163 (feature-emacs-org-protocol)
164 ;; TODO: Remove auctex dependency, which interjects in texinfo-mode.
165 ;; (feature-emacs-citar)
166
167 (feature-emacs-smartparens
168 #:show-smartparens? #t)
169
170 (feature-emacs-pulseaudio-control)
171 (feature-emacs-geiser)
172 (feature-emacs-guix)
173 (feature-emacs-eglot)
174
175 (feature-manpages)
176
177 (feature-xdg)
178
179 (feature-git #:sign-commits? #f)
180
181 (feature-custom-services
182 #:feature-name-prefix 'w96k
183 #:home-services
184 (list
185 home-extra-packages-service
186 sway-extra-config-service
187 ))
188
189 ;; (feature-mpv
190 ;; #:extra-mpv-conf '((speed . 1.61)))
191
192 (feature-sway-run-on-tty
193 #:sway-tty-number 2)
194 (feature-sway-screenshot)
195 ;; (feature-sway-statusbar
196 ;; #:use-global-fonts? #f)
197 (feature-waybar)
198 (feature-swayidle)
199 (feature-swaylock
200 #:swaylock (@ (gnu packages wm) swaylock-effects)
201 ;; The blur on lock screen is not privacy-friendly.
202 #:extra-config '((screenshots)
203 (effect-blur . 7x5)
204 (clock)))
205 ))))
206
207(rde-config-home-environment minimal-rde-config)
Note: See TracBrowser for help on using the repository browser.