aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-08-07 21:47:14 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-08-10 09:17:06 -0400
commit537962ae908cb1a9eb9209b0eb3170e83edcc0bc (patch)
tree88c9adcd85a675e133cc314b20194c3607f36fe4 /gnu/ci.scm
parentd32740d8bedba58c30a7b605ebb9a08f24c68de9 (diff)
downloadguix-537962ae908cb1a9eb9209b0eb3170e83edcc0bc.tar.gz
guix-537962ae908cb1a9eb9209b0eb3170e83edcc0bc.zip
gnu: Add pyotherside.
* gnu/packages/qt.scm (pyotherside): New variable.
Diffstat (limited to 'gnu/ci.scm')
0 files changed, 0 insertions, 0 deletions
" ,(alsa-config-file config)))) (define alsa-service-type (service-type (name 'alsa) (extensions (list (service-extension etc-service-type alsa-etc-service))) (default-value (alsa-configuration)) (description "Configure low-level Linux sound support, ALSA."))) ;;; ;;; PulseAudio ;;; (define-record-type* <pulseaudio-configuration> pulseaudio-configuration make-pulseaudio-configuration pulseaudio-configuration? (client-conf pulseaudio-configuration-client-conf (default '())) (daemon-conf pulseaudio-configuration-daemon-conf ;; Flat volumes may cause unpleasant experiences to users ;; when applications inadvertently max out the system volume ;; (see e.g. <https://bugs.gnu.org/38172>). (default '((flat-volumes . no)))) (script-file pulseaudio-configuration-script-file (default (file-append pulseaudio "/etc/pulse/default.pa"))) (extra-script-files pulseaudio-configuration-extra-script-files (default '())) (system-script-file pulseaudio-configuration-system-script-file (default (file-append pulseaudio "/etc/pulse/system.pa")))) (define (pulseaudio-conf-entry arg) (match arg ((key . value) (format #f "~a = ~s~%" key value)) ((? string? _) (string-append arg "\n")))) (define pulseaudio-environment (match-lambda (($ <pulseaudio-configuration> client-conf daemon-conf default-script-file) ;; These config files kept at a fixed location, so that the following ;; environment values are stable and do not require the user to reboot to ;; effect their PulseAudio configuration changes. '(("PULSE_CONFIG" . "/etc/pulse/daemon.conf") ("PULSE_CLIENTCONFIG" . "/etc/pulse/client.conf"))))) (define (extra-script-files->file-union extra-script-files) "Return a G-exp obtained by processing EXTRA-SCRIPT-FILES with FILE-UNION." (define (file-like->name file) (match file ((? local-file?) (local-file-name file)) ((? plain-file?) (plain-file-name file)) ((? computed-file?) (computed-file-name file)) (_ (leave (G_ "~a is not a local-file, plain-file or \ computed-file object~%") file)))) (define (assert-pulseaudio-script-file-name name) (unless (string-suffix? ".pa" name) (leave (G_ "`~a' lacks the required `.pa' file name extension~%") name)) name) (let ((labels (map (compose assert-pulseaudio-script-file-name file-like->name) extra-script-files))) (file-union "default.pa.d" (zip labels extra-script-files)))) (define (append-include-directive script-file) "Append an include directive to source scripts under /etc/pulse/default.pa.d." (computed-file "default.pa" #~(begin (use-modules (ice-9 textual-ports)) (define script-text (call-with-input-file #$script-file get-string-all)) (call-with-output-file #$output (lambda (port) (format port (string-append script-text " ### Added by Guix to include scripts specified in extra-script-files. .nofail .include /etc/pulse/default.pa.d~%"))))))) (define pulseaudio-etc (match-lambda (($ <pulseaudio-configuration> client-conf daemon-conf default-script-file extra-script-files system-script-file) `(("pulse" ,(file-union "pulse" `(("default.pa" ,(if (null? extra-script-files) default-script-file (append-include-directive default-script-file))) ("system.pa" ,system-script-file) ,@(if (null? extra-script-files) '() `(("default.pa.d" ,(extra-script-files->file-union extra-script-files)))) ("daemon.conf" ,(apply mixed-text-file "daemon.conf" "default-script-file = /etc/pulse/default.pa\n" (map pulseaudio-conf-entry daemon-conf))) ("client.conf" ,(apply mixed-text-file "client.conf" (map pulseaudio-conf-entry client-conf)))))))))) (define pulseaudio-service-type (service-type (name 'pulseaudio) (extensions (list (service-extension session-environment-service-type pulseaudio-environment) (service-extension etc-service-type pulseaudio-etc) (service-extension udev-service-type (const (list pulseaudio))))) (default-value (pulseaudio-configuration)) (description "Configure PulseAudio sound support."))) ;;; ;;; LADSPA ;;; (define-record-type* <ladspa-configuration> ladspa-configuration make-ladspa-configuration ladspa-configuration? (plugins ladspa-configuration-plugins (default '()))) (define (ladspa-environment config) ;; Define this variable in the global environment such that ;; pulseaudio swh-plugins (and similar LADSPA plugins) work. `(("LADSPA_PATH" . (string-join ',(map (lambda (package) (file-append package "/lib/ladspa")) (ladspa-configuration-plugins config)) ":")))) (define ladspa-service-type (service-type (name 'ladspa) (extensions (list (service-extension session-environment-service-type ladspa-environment))) (default-value (ladspa-configuration)) (description "Configure LADSPA plugins."))) ;;; sound.scm ends here