(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))