summaryrefslogtreecommitdiff
path: root/nonguix/multiarch-container.scm
AgeCommit message (Collapse)Author
2024-03-22nonguix: multiarch-container: Link fonts to /usr/share/fonts.Hilton Chain
* nonguix/multiarch-container.scm (make-internal-script): Link fonts to /usr/share/fonts. Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22nonguix: multiarch-container: Expose /etc/os-release.Hilton Chain
* nonguix/multiarch-container.scm (make-container-wrapper): Expose /etc/os-release. Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22nonguix: multiarch-container: Preserve TZ and TZDIR.Hilton Chain
* nonguix/multiarch-container.scm (make-container-wrapper): Preserve TZ and TZDIR. Signed-off-by: John Kehayias <john.kehayias@protonmail.com> Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22multiarch-container: make-internal-script: Add VDPAU paths to LD_LIBRARY_PATH.Hilton Chain
* nonguix/multiarch-container.scm (make-container-wrapper): Don't set VDPAU_DRIVER_PATH. (make-internal-script): Add VDPAU paths to LD_LIBRARY_PATH. Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22multiarch-container: make-container-wrapper: Set LIBVA_DRIVERS_PATH.Hilton Chain
* nonguix/multiarch-container.scm (make-container-wrapper): Set LIBVA_DRIVERS_PATH and preserve it. Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22nonguix: multiarch-container: Share Wayland environment.Hilton Chain
* nonguix/multiarch-container.scm (make-container-wrapper): Preserve environment variables and share socket for Wayland. Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22nonguix: multiarch-container: Symlink EGL configurations.Hilton Chain
* nonguix/multiarch-container.scm (make-internal-script): Symlink EGL configurations. Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22nonguix: multiarch-container: Symlink all available Vulkan layers.Hilton Chain
* nonguix/multiarch-container.scm (make-internal-script): Symlink all available Vulkan layers. Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22multiarch-container: make-internal-script: Improve icd-symlink.Hilton Chain
* nonguix/multiarch-container.scm (make-internal-script)[icd-symlink]: Allow custom directory. Rename to… [file-symlink]: …this. [get-files]: New procedure to simplify find-files use. Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-31nongnu: multiarch-container: Fix preserved-env not being used.Michal Atlas
* nonguix/multiarch-container.scm (make-container-wrapper): Use ngc-preserved-env. Signed-off-by: John Kehayias <john.kehayias@protonmail.com> Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-10nonguix: multiarch-container: Allow extra shared directories.John Kehayias
Basic fix for #237. This allows exposing other directories or drives to the nonguix container, for example to add additional library locations to Steam, by setting $GUIX_SANDBOX_EXTRA_SHARES. * nonguix/multiarch-container.scm (make-container-wrapper): Use environment variable $GUIX_SANDBOX_EXTRA_SHARES to pass extra directories to share with the container.
2024-01-06nonguix: multiarch-container: Set LD_LIBRARY_PATH inside container.John Kehayias
Fixes #303. Previously LD_LIBRARY_PATH was being set before the container was launched, which could cause issues on some foreign distros where this alters what is loaded from an FHS structure. This was only meant to be set inside the container, though this didn't cause any issues on a Guix System. * nonguix/multiarch-container.scm (make-container-wrapper): Move setting LD_LIBRARY_PATH from here ... (make-internal-script): ... to here.
2024-01-04nongnu: multiarch-container: Fix missing module on foreign distros.John Kehayias
Fixes #277. See discussion in above issue for details and some education on what went wrong here. In short, we didn't capture the needed (guix build utils) module in the container script. On a Guix System this didn't cause any problems as guix modules are found through set Guile environment variables. But on a foreign distro these weren't set without hacky workarounds. This prevented Steam from launching with a "no code for module" error. * nonguix/multiarch-container.scm (make-container-wrapper)[make-container-wrapper]: Use 'with-imported-modules' for (guix build utils).
2024-01-03nongnu: Add heroic.John Kehayias
* nongnu/packages/game-client.scm (heroic-client, heroic-extra-client-libs, heroic-container, heroic-nvidia-container, heroic, heroic-nvidia): New variables. * nonguix/multi-arch-container.scm (make-container-wrapper): Preserve "^SSL_" for heroic to use curl. (make-internal-script): Add symlink for "/usr/share/glib-2.0".
2024-01-03nongnu: steam-nvidia: Fix launching .desktop files.Timo Wilken
Steam installs .desktop files that refer to an executable called `steam'. Installing steam-nvidia as the `steam-nvidia' executable breaks this, which means Steam cannot be launched from its desktop icon. This also applies to .desktop files for individual games generated by Steam, when they are copied from `<ngc-sandbox-home>/.local/share/applications/'. Fix this by always installing Steam's wrapper executable as `steam'. We add a new field using "binary" to keep things shorter. This has the downside that the `steam' and `steam-nvidia' packages cannot be installed in the same profile, but likely people wouldn't want to do this anyway. Fixes #294. * nongnu/packages/steam-client.scm (steam-nvidia-container)[binary-name]: Specify for compatibility with .desktop files. * nonguix/multiarch-container.scm (<nonguix-container>)[binary-name, ngc-binary-name]: New field and accessor. (nonguix-container->package): Use it to set correct executable name. (make-internal-script): Use it in message. Co-authored-by: John Kehayias <john.kehayias@protonmail.com> Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-11-11nonguix: multiarch-container: Make locale usable by pressure-vessel.John Kehayias
Steam's pressure-vessel startup time can be improved by not having to generate locales. So make sure locales are in and used by the pressure-vessel container by linking the expected location of /usr/lib/locale (presumably so that pressure-vessel will capture them) and setting $GUIX_LOCPATH. * nonguix/multiarch-container.scm (make-container-wrapper): Preserve and set GUIX_LOCPATH. (make-internal-script): Add symlink for /usr/lib/locale.
2023-11-11nonguix: multiarch-container: Preserve MANGOHUD.John Kehayias
Now one can have set MANGOHUD=1 in their environment to have all Steam games launch with MangoHud, rather than always setting this per game launch settings. Likewise for MANGOHUD_CONFIG for configuration. * nonguix/multiarch-container.scm (make-container-wrapper): Preserve MANGOHUD environment variables.
2023-11-11nonguix: multiarch-container: Set LD_LIBRARY_PATH (for steam).John Kehayias
Setting $LD_LIBRARY_PATH in the container allows for non-Steam games added to Steam to launch properly with Proton. Otherwise they don't make it to the pressure-vessel container as it seems they start in an environment where the rest of our setup is not active (e.g. game will fail to launch with an error about being unable to load libGL.so.1). * nonguix/multiarch-container.scm (make-container-wrapper): Preserve LD_LIBRARY_PATH and set it.
2023-11-11nonguix: multiarch-container: Remove pressure-vessel workaround.John Kehayias
Setting $PRESSURE_VESSEL_FILESYSTEMS_RO to "/gnu/store" is no longer needed for Steam as the fix has been merged upstream. Users can still set this environment variable (preserved in the container) if needed. * nonguix/multiarch-container.scm (make-container-wrapper): Remove setting $PRESSURE_VESSEL_FILESYSTEMS_RO.
2023-10-14nongnu: steam: Fix to work with newer mangohud.John Kehayias
In 0.7.0 of MangoHud the vulkan implicit layers have different names for 32- and 64-bit so we no longer need a workaround. * nonguix/multiarch-container.scm (make-internal-script): No longer create /usr/share/vulkan/implicit_layer.d. Symlink instead directly from guix-env. Remove vulkan layer renaming from mangohud.
2023-09-03nongnu: steam: Fix missing tray icon.John Kehayias
Finally, it's back! Using something like snixembed worked around this before by using a different tray icon format. * nongnu/packages/steam-client.scm (steam-client-libs): Add gdk-pixbuf. * nonguix/multiarch-container.scm (make-internal-script): Add symlink to /usr/share/mime.
2023-07-15nongnu: steam: Allow workaround of white box bug.John Kehayias
See <https://gitlab.com/nonguix/nonguix/-/issues/267> and <https://github.com/ValveSoftware/steam-for-linux/issues/9306>. * nonguix/multiarch-container.scm (make-container-wrapper): Preserve QT_X11_NO_MITSHM to allow setting to 1 to workaround an upstream bug where only a white box is displayed.
2023-06-29nonguix: glibc-for-fhs: Remove variable.John Kehayias
* nonguix/multiarch-container.scm (glibc-for-fhs): Remove. (fhs-min-libs): Use upstream glibc-for-fhs.
2023-05-29nongnu: Export steam containers and minor refactor.Elijah Malaby
nonguix: Make container actually respect the ngc-shared and ngc-exposed fields. * nongnu/packages/steam-client.scm (steam-container): New variable. This is to export the container definition from steam. (steam-nvidia-container): New variable. This is the container for steam-nvidia and now inherits from steam-container. (steam, steam-nvidia): Container definitions moved to steam-container and steam-nvidia-container. * nonguix/multiarch-container.scm (make-container-wrapper): Add ngc-exposed and ngc-shared to expose and share lists. Signed-off-by: ison <ison@airmail.cc>
2023-05-29nonguix: Remove unnecessary modules from multiarch-container scripts.Attila Lendvai
* nonguix/multiarch-container.scm (packages->ld.so.conf)[computed-file]: Remove with-imported-modules and use-modules. (make-container-wrapper)[program-file]: Remove with-imported-modules. Signed-off-by: ison <ison@airmail.cc>
2023-05-15nonguix: Move nonguix-container to its own module.Giacomo Leidi
* nonguix/multiarch-container.scm: New file. This module makes the container code from steam-client.scm usable by other packages which require multiarch support (which is not currently supported by the upstream Guix FHS container). Signed-off-by: ison <ison@airmail.cc>