(define-module (ruther services nix-gl)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages gl)
#:use-module (gnu services)
#:use-module (gnu services sysctl)
#:use-module (gnu services configuration))
(define-public mesa-w-libglvnd
(package/inherit mesa
(inputs (modify-inputs (package-inputs mesa)
(append libglvnd)))
(arguments
(substitute-keyword-arguments (package-arguments mesa)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'install 'patch-glvnd-json
(lambda _
(substitute* (string-append #$output "/share/glvnd/egl_vendor.d/50_mesa.json")
(("libEGL_mesa\\.so\\.0")
(string-append #$output "/lib/libEGL_mesa.so.0")))))))))))
(define-public nixos-opengl-driver-service
(extra-special-file "/run/opengl-driver" mesa-w-libglvnd))