From 3d495ba0b5c148b3d1d55cb3ad1004d1bf08841d Mon Sep 17 00:00:00 2001 From: Ryan Schanzenbacher Date: Thu, 18 May 2023 01:57:03 -0400 Subject: many changes, mostly migrations to using shepherd home services --- home-config/bashrc | 4 +- home-config/home-configuration.scm | 21 ++++++-- home-config/pipewire.scm | 99 -------------------------------------- home-config/sway/config | 8 +-- modules/ryan-services/pipewire.scm | 99 ++++++++++++++++++++++++++++++++++++++ system.scm | 12 ++++- 6 files changed, 131 insertions(+), 112 deletions(-) delete mode 100644 home-config/pipewire.scm create mode 100644 modules/ryan-services/pipewire.scm diff --git a/home-config/bashrc b/home-config/bashrc index 6d22d87..f52ed48 100644 --- a/home-config/bashrc +++ b/home-config/bashrc @@ -41,6 +41,6 @@ alias cat='bat --paging=never' export XDG_DATA_DIRS=$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:/home/ryan/.local/share/flatpak/exports/share # GPG SETUP FOR SSH -export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) -gpgconf --launch gpg-agent +#export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) +#gpgconf --launch gpg-agent export GPG_TTY=$(tty) diff --git a/home-config/home-configuration.scm b/home-config/home-configuration.scm index 17874d3..64d1236 100644 --- a/home-config/home-configuration.scm +++ b/home-config/home-configuration.scm @@ -8,11 +8,15 @@ (gnu packages) (gnu packages vim) (gnu packages gcc) + (gnu packages gnupg) (gnu services) (guix packages) (guix gexp) (gnu home services shells) - (gnu home services)) + (gnu home services desktop) + (gnu home services gnupg) + (gnu home services) + (ryan-services pipewire)) (define my-neovim (package @@ -52,7 +56,7 @@ "texlive-amsfonts" "texlive-lm" "texlive-lm-math" - "texlive-generic-iftex" + "texlive-iftex" "texlive-unicode-math" "texlive-fontspec" "texlive-xcolor" @@ -97,6 +101,13 @@ (service home-files-service-type `((".local/share/nvim/site/autoload/plug.vim" ,(local-file "nvim/plugin-manager/plug.vim")) (".ssh/config" ,(local-file "ssh/config")) - (".gnupg/sshcontrol" ,(local-file "gnupg/sshcontrol")) - (".gnupg/gpg-agent.conf" ,(local-file "gnupg/gpg-agent.conf")) - (".fonts" ,(local-file "fonts" #:recursive? #t)) ))))) + ;(".gnupg/sshcontrol" ,(local-file "gnupg/sshcontrol")) + ;(".gnupg/gpg-agent.conf" ,(local-file "gnupg/gpg-agent.conf")) + (".fonts" ,(local-file "fonts" #:recursive? #t)))) + (service home-pipewire-service-type) + (service home-dbus-service-type) + (service home-gpg-agent-service-type + (home-gpg-agent-configuration + (pinentry-program + (file-append pinentry "/bin/pinentry")) + (ssh-support? #t))) ))) diff --git a/home-config/pipewire.scm b/home-config/pipewire.scm deleted file mode 100644 index 48089ad..0000000 --- a/home-config/pipewire.scm +++ /dev/null @@ -1,99 +0,0 @@ -(define-module (home-configuration pipewire) - #:use-module (gnu packages) - #:use-module (gnu packages linux) - #:use-module (gnu services) - #:use-module (gnu services configuration) - #:use-module (gnu home services) - #:use-module (gnu home services shepherd) - #:use-module (guix gexp)) - -(define (home-pipewire-profile-service config) - (map specification->package - (list "pipewire" - "wireplumber"))) - -(define (home-pipewire-shepherd-service config) - (list - ;; Pipewire daemon - (shepherd-service - (requirement '(dbus)) - (provision '(pipewire)) - (stop #~(make-kill-destructor)) - (start #~(make-forkexec-constructor - (list #$(file-append pipewire "/bin/pipewire")) - #:log-file (string-append - (or (getenv "XDG_LOG_HOME") - (format #f "~a/.local/var/log" - (getenv "HOME"))) - "/pipewire.log") - #:environment-variables - (append (list "DISABLE_RTKIT=0") - (default-environment-variables))))) - ;; Pipewire-pulse - (shepherd-service - (requirement '(pipewire)) - (provision '(pipewire-pulse)) - (stop #~(make-kill-destructor)) - (start #~(make-forkexec-constructor - (list #$(file-append pipewire "/bin/pipewire-pulse")) - #:log-file (string-append - (or (getend "XDG_LOG_HOME") - (format #f "~a/.local/var/log" - (getenv "HOME"))) - "/pipewire-pulse.log") - #:environment-variables - (append (list "DISABLE_RTKIT=0") - (default-environment-variables))))) - ;; Wireplumber - (shepherd-service - (requirement '(pipewire)) - (provision '(wireplumber)) - (stop #~(make-kill-destructor)) - (start #~(make-forkexec-constructor - (list #$(file-append wireplumber "/bin/wireplumber")) - #:log-file (string-append - (or (getenv "XDG_LOG_HOME") - (format #f "~a/.local/var/log" - (getenv "HOME"))) - "/wireplumber.log") - #:environment-variables - (append (list "DISABLE_RTKIT=0") - (default-environment-variables))))))) - -(define (home-pipewire-xdg-configuration-service config) - `(("alsa/asoundrc" - ,(mixed-text-file - "asoundrc" - #~(string-append - "<" - #$(file-append - pipewire "/share/alsa/alsa.conf.d/50-pipewire.conf") - ">\n<" - #$(file-append - pipewire "/share/alsa/alsa.conf.d/99-pipewire-default.conf") - ">/n" - " - pcm_type.pipewire { - lib " #$(file-append pipewire "/lib/alsa-lib/libasound_module_pcm_pipewire.so") - " - } - ctl_type.pipewire { - lib " #$(file-append pipewire "/lib/alsa-lib/libasound_module_ctl_pipewire.so") - " - } - "))))) - -(define-public home-pipewire-service-type - (service-type (name 'home-pipewire) - (extensions - (list (service-extension - home-profile-service-type - home-pipewire-profile-service) - (service-extension - home-shepherd-service-type - home-pipewire-shepherd-service) - (service-extension - home-xdg-configuration-files-service-type - home-pipewire-xdg-configuration-service))) - (default-value #f) - (description "Configures and runs Pipewire and Wireplumber"))) diff --git a/home-config/sway/config b/home-config/sway/config index 3c2d0c2..fdc56e0 100644 --- a/home-config/sway/config +++ b/home-config/sway/config @@ -24,7 +24,7 @@ exec sh ~/.profile # Load up the user session dbus -exec dbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus +#exec dbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus # # Logo key. Use Mod1 for Alt. @@ -280,14 +280,14 @@ exec hash dbus-update-activation-environment 2>/dev/null && dbus-update-activati # Numlock on startup input * xkb_numlock enabled +# Bluetooth +exec blueman-applet + # Audio Server #exec pipewire #exec wireplumber #exec pipewire-pulse -# Bluetooth -exec blueman-applet - # Spotifyd #exec spotifyd diff --git a/modules/ryan-services/pipewire.scm b/modules/ryan-services/pipewire.scm new file mode 100644 index 0000000..cd2d10e --- /dev/null +++ b/modules/ryan-services/pipewire.scm @@ -0,0 +1,99 @@ +(define-module (ryan-services pipewire) + #:use-module (gnu packages) + #:use-module (gnu packages linux) + #:use-module (gnu services) + #:use-module (gnu services configuration) + #:use-module (gnu home services) + #:use-module (gnu home services shepherd) + #:use-module (guix gexp)) + +(define (home-pipewire-profile-service config) + (map specification->package + (list "pipewire" + "wireplumber"))) + +(define (home-pipewire-shepherd-service config) + (list + ;; Pipewire daemon + (shepherd-service + (requirement '(dbus)) + (provision '(pipewire)) + (stop #~(make-kill-destructor)) + (start #~(make-forkexec-constructor + (list #$(file-append pipewire "/bin/pipewire")) + #:log-file (string-append + (or (getenv "XDG_LOG_HOME") + (format #f "~a/.local/var/log" + (getenv "HOME"))) + "/pipewire.log") + #:environment-variables + (append (list "DISABLE_RTKIT=0") + (default-environment-variables))))) + ;; Pipewire-pulse + (shepherd-service + (requirement '(pipewire)) + (provision '(pipewire-pulse)) + (stop #~(make-kill-destructor)) + (start #~(make-forkexec-constructor + (list #$(file-append pipewire "/bin/pipewire-pulse")) + #:log-file (string-append + (or (getenv "XDG_LOG_HOME") + (format #f "~a/.local/var/log" + (getenv "HOME"))) + "/pipewire-pulse.log") + #:environment-variables + (append (list "DISABLE_RTKIT=0") + (default-environment-variables))))) + ;; Wireplumber + (shepherd-service + (requirement '(pipewire)) + (provision '(wireplumber)) + (stop #~(make-kill-destructor)) + (start #~(make-forkexec-constructor + (list #$(file-append wireplumber "/bin/wireplumber")) + #:log-file (string-append + (or (getenv "XDG_LOG_HOME") + (format #f "~a/.local/var/log" + (getenv "HOME"))) + "/wireplumber.log") + #:environment-variables + (append (list "DISABLE_RTKIT=0") + (default-environment-variables))))))) + +(define (home-pipewire-xdg-configuration-service config) + `(("alsa/asoundrc" + ,(mixed-text-file + "asoundrc" + #~(string-append + "<" + #$(file-append + pipewire "/share/alsa/alsa.conf.d/50-pipewire.conf") + ">\n<" + #$(file-append + pipewire "/share/alsa/alsa.conf.d/99-pipewire-default.conf") + ">\n" + " + pcm_type.pipewire { + lib " #$(file-append pipewire "/lib/alsa-lib/libasound_module_pcm_pipewire.so") + " + } + ctl_type.pipewire { + lib " #$(file-append pipewire "/lib/alsa-lib/libasound_module_ctl_pipewire.so") + " + } + "))))) + +(define-public home-pipewire-service-type + (service-type (name 'home-pipewire) + (extensions + (list (service-extension + home-profile-service-type + home-pipewire-profile-service) + (service-extension + home-shepherd-service-type + home-pipewire-shepherd-service) + (service-extension + home-xdg-configuration-files-service-type + home-pipewire-xdg-configuration-service))) + (default-value #f) + (description "Configures and runs Pipewire and Wireplumber"))) diff --git a/system.scm b/system.scm index ab17f32..3450770 100644 --- a/system.scm +++ b/system.scm @@ -19,7 +19,7 @@ (use-modules (gnu packages tls)) (use-modules (srfi srfi-1)) (use-package-modules security-token) -(use-service-modules cups desktop networking xorg ssh sound security-token docker) +(use-service-modules cups desktop networking xorg ssh sound security-token docker virtualization) ; Define package that installs my root ca public keys (define my-ca-certs @@ -94,7 +94,7 @@ (group "users") ;(shell (file-append zsh "/bin/zsh")) (home-directory "/home/ryan") - (supplementary-groups '("wheel" "netdev" "audio" "video" "lp" "plugdev" "docker"))) + (supplementary-groups '("wheel" "netdev" "audio" "video" "lp" "plugdev" "docker" "libvirt" "kvm"))) %base-user-accounts)) ;; Packages installed system-wide. Users can also install packages @@ -120,11 +120,16 @@ "wl-clipboard" "bluez" "blueman" + "ldacbt" + "libfreeaptx" + "libfdk" "opendoas" "xdg-desktop-portal-wlr" "xdg-desktop-portal" "pipewire" "docker" + "libvirt" + "virt-manager" "wireplumber" "zsh")) (list my-ca-certs) @@ -140,6 +145,9 @@ (service openssh-service-type) (service pcscd-service-type) (service docker-service-type) + (service libvirt-service-type + (libvirt-configuration + (unix-sock-group "libvirt"))) (service bluetooth-service-type) (udev-rules-service 'fido2 libfido2 #:groups '("plugdev"))) -- cgit v1.2.3