From ddedd172a6023471023a821658fabb6c28f99328 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Mon, 18 Apr 2022 21:42:42 +0200 Subject: [PATCH] nongnu: Add nvidia-prime-select. * nongnu/packages/nvidia.scm (nvidia-prime-select): New variable. --- nongnu/packages/nvidia.scm | 48 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm index 5f03b8a8..d0855573 100644 --- a/nongnu/packages/nvidia.scm +++ b/nongnu/packages/nvidia.scm @@ -42,6 +42,7 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages linux) #:use-module (gnu packages m4) @@ -453,6 +454,53 @@ still require firmware file @code{gsp.bin} to be loaded as well as closed source userspace tools from the corresponding driver release.") (license license-gnu:gpl2))) +(define-public nvidia-prime-select + (let ((commit "902aa9a069f7f87d44e3ca3425b91015e017afc5") (revision "1")) + (package + (name "nvidia-prime-select") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wildtruc/nvidia-prime-select") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j5gmypj6ij7dbwlk8fnq3dkhkzdyz8vygy8h51j0xd2nmcp0pkg")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-install + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "nvidia-prime-select" + (("grub2-mkconfig") "grub-mkconfig")) + (substitute* "Makefile" + (("/etc") (string-append #$output "/etc")) + (("/usr/bin") (string-append #$output "/bin")) + (("/usr/sbin") (string-append #$output "/bin")) + (("/usr/share") (string-append #$output "/usr/share"))))) + (delete 'configure) + (add-after 'install 'wrap-scripts + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (string-append #$output + "/bin/nvidia-prime-ui") + `("PATH" ":" prefix + (,(string-append #$output "/lib/")))) + (wrap-program (string-append #$output + "/bin/nvidia-prime-select") + `("PATH" ":" prefix + (,(string-append #$output "/lib/"))))))))) + (inputs (list bash-minimal zenity)) ; for wrap-program + (synopsis "Nvidia prime to switch between GPUs") + (description + "This package provides a script to switch between the default Intel GPU +and the discrete Nvidia graphic card.") + (home-page "https://github.com/wildtruc/nvidia-prime-select") + (license license-gnu:gpl3+)))) + (define-public nvidia-settings (package (name "nvidia-settings")