From 01f9c0119a397d7d919f1b6c15cffa735c9dbd7a Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Sun, 11 Aug 2024 17:43:39 -0400 Subject: [PATCH] refactor services, syncthing, update audio packages --- channels.scm | 4 +- home/config/zsh/zprofile | 2 +- home/home.scm | 13 ++++++- modules/freya/packages/linux.scm | 56 ++++++++++++++++++++------- modules/freya/packages/networking.scm | 23 ++--------- modules/freya/packages/pulseaudio.scm | 34 ++++++++++++++++ modules/freya/packages/qt.scm | 6 +-- modules/freya/system.scm | 23 ++++++++--- 8 files changed, 115 insertions(+), 46 deletions(-) create mode 100644 modules/freya/packages/pulseaudio.scm diff --git a/channels.scm b/channels.scm index a303804..af7e753 100644 --- a/channels.scm +++ b/channels.scm @@ -3,7 +3,7 @@ (url "https://git.savannah.gnu.org/git/guix.git") (branch "master") (commit - "5e567587dd4abf51f9a6fa44f5a852dde1115ce9") + "de714bcb46d61922e0efc10783ea23fb0202f583") (introduction (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" @@ -14,7 +14,7 @@ (url "https://gitlab.com/nonguix/nonguix") (branch "master") (commit - "1b0594dc534d834be6f3facec98dee13db2a2299") + "57d6d0cd4beb489e045231eb7066073ebe8a0dc5") (introduction (make-channel-introduction "897c1a470da759236cc11798f4e0a5f7d4d59fbc" diff --git a/home/config/zsh/zprofile b/home/config/zsh/zprofile index 4387fab..18e9548 100644 --- a/home/config/zsh/zprofile +++ b/home/config/zsh/zprofile @@ -80,7 +80,7 @@ while true; do "h") echo "Launching Hyprland..." export XDG_CURRENT_DESKTOP=Hyprland - exec dbus-run-session Hyprland &> $HOME/.log/Hyprland + exec Hyprland &> $HOME/.log/Hyprland ;; "t") exec cage -s kitty -- -o font_size=14 &> $HOME/.log/kitty diff --git a/home/home.scm b/home/home.scm index 53c1fe8..a2b429d 100644 --- a/home/home.scm +++ b/home/home.scm @@ -14,6 +14,7 @@ (gnu home services shells) (gnu home services desktop) (gnu home services gnupg) + (gnu home services syncthing) (gnu home services) (freya services pipewire) (freya packages shells) @@ -189,11 +190,19 @@ (".nix-channels" ,(local-file "nix-channels")) (".gitconfig" ,(local-file "config/git/gitconfig")))) - (service home-pipewire-service-type) - (service home-dbus-service-type) + (service home-syncthing-service-type + (syncthing-configuration + (user (getenv "USER")) + (group (getenv "USER")) + (home (string-append (getenv "HOME") "/sync")) + (home-service? #t))) + (service home-gpg-agent-service-type (home-gpg-agent-configuration (pinentry-program (file-append pinentry "/bin/pinentry")) (ssh-support? #t))) + + (service home-pipewire-service-type) + (service home-dbus-service-type) ))) diff --git a/modules/freya/packages/linux.scm b/modules/freya/packages/linux.scm index b62f1fa..d61740a 100644 --- a/modules/freya/packages/linux.scm +++ b/modules/freya/packages/linux.scm @@ -1,18 +1,18 @@ (define-module (freya packages linux) - #:use-module (guix download) - #:use-module (guix packages) #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) #:use-module (gnu packages) #:use-module (gnu packages linux) #:use-module (gnu packages python-xyz) - #:use-module (guix git-download) - #:use-module (guix utils) - #:use-module (freya packages networking)) + #:use-module (freya packages pulseaudio)) (define-public bluez-new (package (inherit bluez) - (version "5.72") + (version "5.77") (source (origin (method url-fetch) @@ -21,17 +21,44 @@ version ".tar.xz")) (sha256 (base32 - "0vjk4ihywzv8k07bxq7clqgi2afrw54nfp0gcnxw35m98nipz7a9")))) + "04h82lfhxh4vd1pyavk1nfrcxc0z5qg5jmsgal9mh22a3pf2y0sx")))) (arguments (list #:configure-flags - #~(list "--sysconfdir=/etc" + #~(list (string-append "--prefix=" #$output) + "--sysconfdir=/etc" "--localstatedir=/var" "--enable-library" "--disable-manpages" "--disable-systemd" "--enable-hid2hci" (string-append "--with-dbusconfdir=" #$output "/etc") - (string-append "--with-udevdir=" #$output "/lib/udev")))))) + (string-append "--with-udevdir=" #$output "/lib/udev")) + #:phases + #~(modify-phases %standard-phases + (add-after 'configure 'fix-makefile + (lambda _ + (substitute* "Makefile" + (("install-confDATA:") "install-IGNORED:") + (("install-confDATA") "") + (("bluetoothd-fix-permissions:") "install-IGNORED2:") + (("bluetoothd-fix-permissions") ""))))) + )) + )) + + +(define-public alsa-lib-new + (package + (inherit alsa-lib) + (name "alsa-lib") + (version "1.2.12") + (source (origin + (method url-fetch) + (uri (string-append + "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-" + version ".tar.bz2")) + (sha256 + (base32 + "1lnh38wii8mnwp3n4hnqa718rgi52rq6ix1llsjrs9r7hs8css28")))))) (define-public pipewire-new @@ -49,10 +76,13 @@ (base32 "0cvbyklzqcdr9zj7k7psb24xp8cxb9fdksrd74r68zvnbbix1qlx")))) (inputs - (modify-inputs - (package-inputs pipewire) - (delete "alsa-lib") - (prepend alsa-lib-new))))) + (modify-inputs (package-inputs pipewire) + (delete "alsa-lib") + (delete "bluez") + (delete "pulseaudio") + (prepend alsa-lib-new) + (prepend bluez-new) + (prepend pulseaudio-new))))) (define-public wireplumber-new diff --git a/modules/freya/packages/networking.scm b/modules/freya/packages/networking.scm index 1622b0e..0bd7346 100644 --- a/modules/freya/packages/networking.scm +++ b/modules/freya/packages/networking.scm @@ -1,6 +1,8 @@ (define-module (freya packages networking) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix build utils) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -22,8 +24,7 @@ #:use-module (gnu packages rust) #:use-module (freya packages linux) #:use-module (freya packages crates-io) - #:use-module (guix utils) - #:use-module (guix build utils)) + #:use-module (freya packages pulseaudio)) (define overskride-version "0.5.7") @@ -119,8 +120,7 @@ gcc-13 dbus libadwaita - pipewire-new - pulseaudio + pulseaudio-new bluez-new)) (home-page "https://github.com/kaii-lb/overskride") (synopsis "A simple yet powerful bluetooth client.") @@ -137,18 +137,3 @@ (delete "bluez") (prepend bluez-new))))) -(define-public alsa-lib-new - (package - (inherit alsa-lib) - (name "alsa-lib") - (version "1.2.12") - (source (origin - (method url-fetch) - (uri (string-append - "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-" - version ".tar.bz2")) - (sha256 - (base32 - "1lnh38wii8mnwp3n4hnqa718rgi52rq6ix1llsjrs9r7hs8css28")))))) - - diff --git a/modules/freya/packages/pulseaudio.scm b/modules/freya/packages/pulseaudio.scm new file mode 100644 index 0000000..d2915a0 --- /dev/null +++ b/modules/freya/packages/pulseaudio.scm @@ -0,0 +1,34 @@ +(define-module (freya packages pulseaudio) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages pulseaudio) + #:use-module (freya packages linux)) + +(define-public pulseaudio-new + (package + (inherit pulseaudio) + (name "pulseaudio") + (version "17.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://freedesktop.org/software/pulseaudio/releases/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1dc7xdfbn5rknwsvv5m2ijfwnqrap208liwyhiykjghsczb98dq5")))) + (arguments + (substitute-keyword-arguments (package-arguments pulseaudio) + ((#:phases phases) + #~(modify-phases #$phases + (delete 'check))))) + (inputs + (modify-inputs (package-inputs pulseaudio) + (delete "alsa-lib") + (delete "bluez") + (prepend alsa-lib-new) + (prepend bluez-new))))) diff --git a/modules/freya/packages/qt.scm b/modules/freya/packages/qt.scm index ca689b9..9f0f327 100644 --- a/modules/freya/packages/qt.scm +++ b/modules/freya/packages/qt.scm @@ -51,9 +51,9 @@ coreutils)) (inputs (list qtbase-5)) - (home-page "") - (synopsis "") - (description "") + (home-page "https://github.com/qt/qtstyleplugins") + (synopsis "Additional style plugins for Qt") + (description "Additional style plugins for Qt") (license license:expat)))) diff --git a/modules/freya/system.scm b/modules/freya/system.scm index 7aa8576..501d0e9 100644 --- a/modules/freya/system.scm +++ b/modules/freya/system.scm @@ -35,6 +35,7 @@ #:use-module (freya packages gl) #:use-module (freya packages qt) #:use-module (freya packages wm) + #:use-module (freya packages pulseaudio) #:use-module (freya packages networking) #:use-module (freya packages virtualization)) @@ -106,7 +107,6 @@ ; needed programs "qemu" - "pulseaudio" ; pactl "alsa-utils" "neovim" @@ -151,6 +151,9 @@ ; bluetooth bluez-new + ; pactl + pulseaudio-new + ; system virt-manager-ovmf freya-ca-certs @@ -159,12 +162,15 @@ (services (append (list + ; system + (service nix-service-type) + (service pam-limits-service-type) (service openssh-service-type) - (service pcscd-service-type) - (service spice-vdagent-service-type) + ; networking (simple-service 'wireguard-module kernel-module-loader-service-type '("wireguard")) + ; printing (service cups-service-type (cups-configuration (web-interface? #t))) @@ -172,21 +178,25 @@ (avahi-configuration (publish? #f) (publish-workstation? #f))) + ; docker (service docker-service-type) (service containerd-service-type) - (service nix-service-type) + ; vms (service libvirt-service-type (libvirt-configuration (libvirt libvirt-ovmf) (unix-sock-group "libvirt") (tls-port "16555"))) (service virtlog-service-type) + (service spice-vdagent-service-type) + ; audio (service bluetooth-service-type (bluetooth-configuration (bluez bluez-new) (experimental #t) (fast-connectable? #t))) - (service pam-limits-service-type) + ; yubikey + (service pcscd-service-type) (udev-rules-service 'fido2 libfido2 #:groups '("plugdev"))) (modify-services %desktop-services @@ -205,7 +215,8 @@ (delete pulseaudio-service-type) (delete gdm-service-type) (delete avahi-service-type) - (delete alsa-service-type)))) + (delete alsa-service-type) + (delete screen-locker-service-type)))) (name-service-switch %mdns-host-lookup-nss)