aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemse2025-03-05 09:43:46 -0800
committerGravatar Tom Willemse2025-03-05 09:54:08 -0800
commit869e4f00d46baf5f4b6b600f6942681d90d5ed15 (patch)
tree6e7546d14c999782b56c58f763d266de13f0ee49
parentfe01c5e98f37999f127f112ac312818422bb275a (diff)
downloadnew-dotfiles-869e4f00d46baf5f4b6b600f6942681d90d5ed15.tar.gz
new-dotfiles-869e4f00d46baf5f4b6b600f6942681d90d5ed15.zip
pop-os: Add vterm configuration and pamixer
-rw-r--r--oni/home/config/pop-os.scm15
-rw-r--r--oni/home/services/stumpwm.scm44
-rw-r--r--oni/home/services/stumpwm/pamixer.lisp6
3 files changed, 62 insertions, 3 deletions
diff --git a/oni/home/config/pop-os.scm b/oni/home/config/pop-os.scm
index cc5a809..f650915 100644
--- a/oni/home/config/pop-os.scm
+++ b/oni/home/config/pop-os.scm
@@ -24,7 +24,9 @@
home-emacs-configuration
home-wakatime-service-type
home-wakatime-configuration
- home-emacs-org-journal-service-type))
+ home-emacs-org-journal-service-type
+ home-emacs-vterm-service-type
+ home-emacs-vterm-configuration))
#:use-module ((oni home services environment)
#:select (home-environment-service))
#:use-module ((oni home services flameshot)
@@ -37,7 +39,9 @@
home-stumpwm-stumptray-service-type
home-stumpwm-stumptray-configuration
home-stumpwm-playerctl-service-type
- home-stumpwm-playerctl-configuration))
+ home-stumpwm-playerctl-configuration
+ home-stumpwm-pamixer-service-type
+ home-stumpwm-pamixer-configuration))
#:use-module (oni home services zsh)
#:use-module ((oni packages emacs)
#:select (emacs-php-ts-mode))
@@ -130,6 +134,9 @@
(api-url "https://waka.ryuslash.org/api")
(exclude '("COMMIT_EDITMSG$"
"TAG_EDITMSG$"))))
+ (service home-emacs-vterm-service-type
+ (home-emacs-vterm-configuration
+ (buffer-name-string "*vterm* %s")))
home-zsh-service
@@ -166,5 +173,9 @@
(home-stumpwm-playerctl-configuration
(configurations
(list (local-file "../services/stumpwm/playerctl.lisp")))))
+ (service home-stumpwm-pamixer-service-type
+ (home-stumpwm-pamixer-configuration
+ (configurations
+ (list (local-file "../services/stumpwm/pamixer.lisp")))))
(service home-flameshot-service-type))))
diff --git a/oni/home/services/stumpwm.scm b/oni/home/services/stumpwm.scm
index 56d1ae3..9bde255 100644
--- a/oni/home/services/stumpwm.scm
+++ b/oni/home/services/stumpwm.scm
@@ -10,6 +10,8 @@
#:select (sbcl))
#:use-module ((gnu packages music)
#:select (playerctl))
+ #:use-module ((gnu packages pulseaudio)
+ #:select (pamixer))
#:use-module ((gnu packages wm)
#:select (stumpwm
stumpish
@@ -43,7 +45,10 @@
home-stumpwm-stumptray-configuration
home-stumpwm-playerctl-service-type
- home-stumpwm-playerctl-configuration))
+ home-stumpwm-playerctl-configuration
+
+ home-stumpwm-pamixer-service-type
+ home-stumpwm-pamixer-configuration))
(define (serialize-integer field value)
"")
@@ -235,3 +240,40 @@
(compose identity)
(default-value (home-stumpwm-playerctl-configuration))
(description "Install and configure playerctl in stumpwm.")))
+
+(define-configuration/no-serialization home-stumpwm-pamixer-configuration
+ (package
+ (package pamixer)
+ "Package to use for setting pamixer in stumpwm.")
+ (configurations
+ (text-config '())
+ "Configuration for pamixer in stumpwm."))
+
+(define (add-stumpwm-pamixer-packages config)
+ (list (home-stumpwm-pamixer-configuration-package config)))
+
+(define (add-stumpwm-pamixer config)
+ (home-stumpwm-extension
+ (configurations
+ (append
+ (list
+ (mixed-text-file
+ "pamixer.lisp"
+ "(defvar *pamixer-program* \""
+ (home-stumpwm-pamixer-configuration-package config)
+ "/bin/pamixer\")\n"))
+ (home-stumpwm-pamixer-configuration-configurations config)))))
+
+(define home-stumpwm-pamixer-service-type
+ (service-type
+ (name 'home-stumpwm-pamixer)
+ (extensions
+ (list (service-extension
+ home-stumpwm-service-type
+ add-stumpwm-pamixer)
+ (service-extension
+ home-profile-service-type
+ add-stumpwm-pamixer-packages)))
+ (compose identity)
+ (default-value (home-stumpwm-pamixer-configuration))
+ (description "Install and configure pamixer in stumpwm.")))
diff --git a/oni/home/services/stumpwm/pamixer.lisp b/oni/home/services/stumpwm/pamixer.lisp
new file mode 100644
index 0000000..35ccf9e
--- /dev/null
+++ b/oni/home/services/stumpwm/pamixer.lisp
@@ -0,0 +1,6 @@
+(defvar *playerctl-bindings* (make-sparse-keymap))
+
+(define-key *playerctl-bindings* (kbd "+") (format nil "exec ~a -i 10" *pamixer-program*))
+(define-key *playerctl-bindings* (kbd "-") (format nil "exec ~a -d 10" *pamixer-program*))
+
+(define-key *user-bindings* (kbd "p") '*playerctl-bindings*)