diff options
author | David Thompson <dthompson2@worcester.edu> | 2024-02-18 14:43:46 -0500 |
---|---|---|
committer | David Thompson <dthompson2@worcester.edu> | 2024-02-18 14:43:46 -0500 |
commit | 3b6cedf05c2b7b45043395f172a71e184c91fb90 (patch) | |
tree | 17a6f3fae8f995a7e091204d5730348fe0776ab1 | |
parent | 18053b792abbac4adc9b6028bb60991dc00a5cd3 (diff) |
Wrap firefox so it can find pipewire libraries.
-rw-r--r-- | dthompson/home/pipewire.scm | 33 | ||||
-rw-r--r-- | dthompson/machines/ikaruga.scm | 139 |
2 files changed, 103 insertions, 69 deletions
diff --git a/dthompson/home/pipewire.scm b/dthompson/home/pipewire.scm index 600db49..9faa64c 100644 --- a/dthompson/home/pipewire.scm +++ b/dthompson/home/pipewire.scm @@ -146,3 +146,36 @@ ctl_type.pipewire { (description (package-description pkg)) (home-page (package-home-page pkg)) (license (package-license pkg)))) + +(define-public (package-with-pw-wrapper pkg program) + (package + (name (package-name pkg)) + (version (package-version pkg)) + (source #f) + (build-system trivial-build-system) + (arguments + (list + #:modules '((guix build union) + (guix build utils)) + #:builder + #~(begin + (use-modules (ice-9 match) + (guix build union) + (guix build utils)) + (let* ((program (string-append #$output "/bin/" #$program)) + (desktop (string-append #$output "/share/applications/" + #$program ".desktop")) + (pw-lib (string-append #$pipewire "/lib"))) + (union-build #$output (list #$pkg) + #:create-all-directories? #t) + (when (file-exists? desktop) + (substitute* desktop + (("Exec=.*") + (string-append "Exec=" program "\n")))) + (wrap-program program + #:sh (string-append #$bash-minimal "/bin/sh") + `("LD_LIBRARY_PATH" ":" prefix (,pw-lib))))))) + (synopsis (package-synopsis pkg)) + (description (package-description pkg)) + (home-page (package-home-page pkg)) + (license (package-license pkg)))) diff --git a/dthompson/machines/ikaruga.scm b/dthompson/machines/ikaruga.scm index 28b50c5..44b5e4c 100644 --- a/dthompson/machines/ikaruga.scm +++ b/dthompson/machines/ikaruga.scm @@ -150,74 +150,75 @@ (define-public ikaruga-home (home-environment (packages - (cons (package-with-pw-jack (specification->package "ardour") - "ardour8") - (specifications->packages - '("blender" - "calf" - "dragonfly-reverb" - "emacs" - "emacs-better-defaults" - "emacs-buffer-env" - "emacs-doom-modeline" - "emacs-doom-themes" - "emacs-flycheck-guile" - "emacs-geiser-guile" - "emacs-htmlize" - "emacs-js2-mode" - "emacs-magit" - "emacs-magit-annex" - "emacs-markdown-mode" - "emacs-org-reveal" - "emacs-paredit" - "emacs-racket-mode" - "emacs-rainbow-delimiters" - "emacs-smex" - "emacs-typo" - "emacs-use-package" - "emacs-web-mode" - "emacs-which-key" - "emacs-yaml-mode" - "firefox" - "font-google-noto-emoji" - "font-google-noto-sans-cjk" - "font-google-noto-serif-cjk" - "font-inconsolata" - "gimp" - "git" - "git:send-email" - "git-annex" - "gnome-boxes" - "gnome-tweaks" - "gnupg" - "google-chrome-unstable" - "gst-plugins-bad" - "guile@3" - "htop" - "hydrogen" - "keepassxc" - "libreoffice" - "libresprite" - "lsp-plugins" - "milkytracker" - "ncurses" - "obs" - "openssh" - "pavucontrol" - "pinentry" - "qpwgraph" - "quodlibet" - "sfxr" - "sicp" - "steam" - "strace" - "tiled" - "tor" - "vlc" - "x42-plugins" - "xdg-desktop-portal" - "xdg-desktop-portal-gtk" - "xournal" - "yt-dlp")))) + (cons* (package-with-pw-jack (specification->package "ardour") + "ardour8") + (package-with-pw-wrapper (specification->package "firefox") + "firefox") + (specifications->packages + '("blender" + "calf" + "dragonfly-reverb" + "emacs" + "emacs-better-defaults" + "emacs-buffer-env" + "emacs-doom-modeline" + "emacs-doom-themes" + "emacs-flycheck-guile" + "emacs-geiser-guile" + "emacs-htmlize" + "emacs-js2-mode" + "emacs-magit" + "emacs-magit-annex" + "emacs-markdown-mode" + "emacs-org-reveal" + "emacs-paredit" + "emacs-racket-mode" + "emacs-rainbow-delimiters" + "emacs-smex" + "emacs-typo" + "emacs-use-package" + "emacs-web-mode" + "emacs-which-key" + "emacs-yaml-mode" + "font-google-noto-emoji" + "font-google-noto-sans-cjk" + "font-google-noto-serif-cjk" + "font-inconsolata" + "gimp" + "git" + "git:send-email" + "git-annex" + "gnome-boxes" + "gnome-tweaks" + "gnupg" + "google-chrome-unstable" + "gst-plugins-bad" + "guile@3" + "htop" + "hydrogen" + "keepassxc" + "libreoffice" + "libresprite" + "lsp-plugins" + "milkytracker" + "ncurses" + "obs" + "openssh" + "pavucontrol" + "pinentry" + "qpwgraph" + "quodlibet" + "sfxr" + "sicp" + "steam" + "strace" + "tiled" + "tor" + "vlc" + "x42-plugins" + "xdg-desktop-portal" + "xdg-desktop-portal-gtk" + "xournal" + "yt-dlp")))) (services (cons (service home-pipewire-service-type) common-services)))) |