| Age | Commit message (Expand) | Author |
| 2025-06-20 | transformations: Deduplicate transformed field values.•••* nonguix/transformations.scm (nonguix-transformation-guix)[substitute-urls]:
Delete duplicates.
(nonguix-transformation-nvidia)[kernel-arguments]: Likewise.
| Hilton Chain |
| 2025-06-20 | transformations: nvidia: Set nvidia_drm.modeset explicitly.•••* nonguix/transformations.scm (nonguix-transformation-nvidia): Set
nvidia_drm.modeset to 0 when kernel-mode-setting? is #f.
| Hilton Chain |
| 2025-06-12 | transformations: Re-export ‘replace-mesa’.•••* nonguix/transformations.scm: Re-export replace-mesa.
| Hilton Chain |
| 2025-06-11 | transformations: Add ‘nonguix-transformation-nvidia’.•••* nonguix/transformations.scm (nonguix-transformation-nvidia): New procedure.
| Hilton Chain |
| 2025-06-11 | transformations: Add ‘nonguix-transformation-linux’.•••* nonguix/transformations.scm (nonguix-transformation-linux): New procedure.
| Hilton Chain |
| 2025-06-11 | nonguix: Add ‘nonguix-transformation-guix’.•••* nonguix/transformations.scm: New file.
| Hilton Chain |
| 2025-06-11 | build/chromium-binary: Add xdg-inputs to implicit inputs.•••* nonguix/build-system/chromium-binary.scm (lower)
<host-inputs>: Add xdg-utils.
Signed-off-by: Hilton Chain <hako@ultrarare.space>
| Maxim Cournoyer |
| 2025-06-11 | build/chromium-binary: Use 'add-input-labels' for host-inputs labels.•••* nonguix/build-system/chromium-binary.scm (add-input-labels): New procedure.
(lower) <host-inputs>: Remove labels. Adjust accordingly.
* nonguix/build/chromium-binary-build-system.scm
(install-wrapper): Adjust for label change of fontconfig-minimal.
Signed-off-by: Hilton Chain <hako@ultrarare.space>
| Maxim Cournoyer |
| 2025-06-11 | build/chromium-binary: Fix indentation.•••* nonguix/build/chromium-binary-build-system.scm: Fix indentation.
Signed-off-by: Hilton Chain <hako@ultrarare.space>
| Maxim Cournoyer |
| 2025-05-14 | utils: with-transformation: Deprioritize matching of procedures.•••* nonguix/utils.scm (with-transformation): Deprioritize procedure matching.
| Hilton Chain |
| 2025-05-14 | utils: with-transformation: Handle more cases.•••* nonguix/utils.scm (with-transformation): Skip parameters.
Avoid duplicating file system packages.
| Hilton Chain |
| 2025-05-05 | nonguix: multiarch-container: Use writable file system.•••This was a change in Guix to make read-only root file system the default in
containers. See commit ce363c1dc7bd63a74dcf7788d340819f6d5db89f.
* nonguix/multiarch-container.scm (make-container-wrapper): Use option
"--writable-root".
| John Kehayias |
| 2025-04-18 | build-system: chromium-binary: Allow overriding default host-inputs.•••Some applications may crash with errors like the following:
libstdc++.so.6: version `GLIBCXX_3.4.31' not found
This can be fixed by using a more recent version of gcc:lib, this patch allows
overriding the default gcc:lib provided by the chromium-binary-build-system.
* nonguix/build-system/chromium-binary.scm (lower)[host-inputs]: Allow
overriding default host-inputs by package inputs.
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Modified-by: Hilton Chain <hako@ultrarare.space>
| Giacomo Leidi |
| 2025-04-18 | multiarch-container: Support sandbox home relative to XDG_DATA_HOME.•••* nonguix/multiarch-container.scm (make-container-wrapper): Set sandbox-home
relative to XDG_DATA_HOME environment variable, if it exists.
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Modified-by: Hilton Chain <hako@ultrarare.space>
| Herman Rimm |
| 2025-04-05 | nonguix: multiarch-container: Fix controller detection.•••Fixes: https://gitlab.com/nonguix/nonguix/-/issues/384
* nonguix/multiarch-container.scm (make-internal-script): Fix controller
detection.
Reported-by: Morgan Smith <Morgan.J.Smith@outlook.com>
| Hilton Chain |
| 2025-04-05 | nonguix: Add package-with-alias.•••* nonguix/utils.scm (package-with-alias): New procedure.
| Hilton Chain |
| 2025-04-05 | nonguix: nonguix-container: Set more default values.•••Since packages field of <nonguix-container> was never used (it's lowered to a
list of store paths, which doesn't suit packages->manifest's expectation), this
commit makes use of it to provide default value for various other fields:
packages -> union64 + union32 -> ld.so.conf -> ld.so.cache.
* nonguix/multiarch-container.scm (<nonguix-container>)[ld.so.conf,ld.so.cache]
[union64,union32]: Set default value.
(make-container-manifest): Remove ngc-packages reference.
| Hilton Chain |
| 2025-04-04 | nonguix: Add package-input-grafting.•••* nonguix/utils.scm (package-input-grafting): New procedure.
| Hilton Chain |
| 2025-02-16 | multiarch-container: make-internal-script: Add nss to LD_LIBRARY_PATH.•••* nonguix/multiarch-container.scm (make-internal-script): Add nss to
LD_LIBRARY_PATH (as nss puts libraries in lib/nss).
| John Kehayias |
| 2025-02-09 | nonguix: chromium-binary-build: Extend wrapper-plan syntax.•••This commit is similar to a0079cf1bd8ef707ab9e15a0e249cbd34f157ae4 which
allowed patchelf-plan to take entries with an optional path. Here,
wrapper-plan is extended to allow for additional syntax (not just a list of
strings) similar to patchelf-plan. Now, entries can be a list, with the first
the string for the file to be patched and the second a list which is added to
the patchelf-plan.
This allows, for example, to patch RPATH to effectively have $ORIGIN for
binaries that need it, with an entry like `("bin/binary" (("out"
"/lib/Binary")))` common for some chromium-based packages. See followup
commits for these changes to reduce LD_LIBRARY_PATH wrapping in some packages.
* nonguix/build-system/chromium-binary.scm (build-patchelf-plan): Handle
entries in wrapper-plan which are a list so that the cdr is added to
patchelf-plan for the car.
(chromium-binary-build): Update doc string for this change and some basics
which were not documented.
| John Kehayias |
| 2025-01-20 | nonguix: Add with-transformation.•••* nonguix/utils.scm (with-transformation): New procedure.
Signed-off-by: Hilton Chain <hako@ultrarare.space>
| Sergio Pastor Pérez |
| 2025-01-08 | nonguix: multiarch-container: Handle empty shares env variable.•••Launching a package, like steam, with GUIX_SANDBOX_EXTRA_SHARES= (set to an
empty string) will cause guix shell to fail to launch with "guix shell: error:
statfs: : No such file or directory".
* nonguix/multiarch-container.scm (make-container-wrapper): Check that the
environment variable GUIX_SANDBOX_EXTRA_SHARES is both set and not an empty
string.
Reported-by: apoorv569
| John Kehayias |
| 2025-01-04 | nonguix: multiarch-container: Don't try to start pulseaudio.•••Closes #241.
See discussion in above issue, but the summary is that the container (or any
package/program) shouldn't be trying to start pulseaudio (or other home/system
services, especially that can be started on demand). While previously this
was done to avoid some issue, it is not clear if that is still the case and it
may possibly lead to other issues. So, let's default to a more
expected (non-) behavior.
* nonguix/multiarch-container.scm (make-container-wrapper): Remove invoke of
pulseaudio.
| John Kehayias |
| 2025-01-04 | nonguix: chromium-binary-build-system: Hint Electron Ozone Platform.•••This should allow Electron apps to detect whether they are running on Wayland
or X11. If they are on Wayland, then they should default to using Wayland
libraries. This should help with HiDPI monitors, fractional scaling, and all
the other issues that Wayland solved over X11.
This environment variable is only supported by Electron versions >=28. All
earlier versions relied on command-line arguments instead.
* nonguix/build/chromium-binary-build-system (install-wrapper): Add
ELECTRON_OZONE_PLATFORM_HINT environment variable and set to "auto".
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
| Karl Hallsby |
| 2024-11-10 | nonguix: binary-build-system: Print the patchelf version.•••* nonguix/build/binary-build-system.scm (patchelf): Output patchelf version.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
| Attila Lendvai |
| 2024-11-10 | build-system: binary: Add comment about patchelf version.•••This is a followup to commit c7e6962eb359493251220a1db174dde868013673.
* nonguix/build-system/binary.scm (default-patchelf): Add comment and TODO
about using older patchelf-0.16 due to upstream bug.
Reported-by: Attila Lendvai <attila@lendvai.name>
| John Kehayias |
| 2024-11-10 | build-system: binary: Use patchelf-0.16 by default.•••Newer patchelf may break binaries.
This commit replaces patchelf with patchelf-0.16 for binary-build-system and
nvidia-driver (known affected package).
Fixes: https://gitlab.com/nonguix/nonguix/-/issues/350
* nonguix/build-system/binary.scm (default-patchelf): Replace patchelf with
patchelf-0.16.
* nongnu/packages/nvidia.scm (nvidia-driver)[native-inputs]: Likewise.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
| Hilton Chain |
| 2024-10-02 | nonguix: binary: Improve .deb unpacking.•••.deb could contain data.tar compressed in any format, not just .xz as it
assumes now.
* nonguix/build/binary-build-system (unpack-deb): find a data.tar archive to
extract.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
| Ashish SHUKLA |
| 2024-06-21 | build-system/chromium-binary: Remove references to source.•••Previously the resulting store object would also depend on the source.
* nonguix/build-system/chromium-binary.scm (lower): Remove reference to source
in #:wrap-inputs.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Tested-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
| Yelninei |
| 2024-03-30 | nonguix: chromium-binary: Use search-path-as-list from (guix build utils).•••We rely on the upstream implementation to avoid duplicating effort.
* nonguix/build/chromium-binary-build-system (install-wrapper): Use
search-path-as-list;
* nonguix/build/utils.scm (build-paths-for-input): remove variable;
(build-paths-from-inputs): remove variable.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
| Giacomo Leidi |
| 2024-03-22 | nonguix: multiarch-container: Link fonts to /usr/share/fonts.•••* nonguix/multiarch-container.scm (make-internal-script): Link fonts to
/usr/share/fonts.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
| Hilton Chain |
| 2024-03-22 | nonguix: multiarch-container: Expose /etc/os-release.•••* nonguix/multiarch-container.scm (make-container-wrapper): Expose
/etc/os-release.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
| Hilton Chain |
| 2024-03-22 | nonguix: multiarch-container: Preserve TZ and TZDIR.•••* 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>
| Hilton Chain |
| 2024-03-22 | multiarch-container: make-internal-script: Add VDPAU paths to LD_LIBRARY_PATH.•••* 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>
| Hilton Chain |
| 2024-03-22 | multiarch-container: make-container-wrapper: Set LIBVA_DRIVERS_PATH.•••* nonguix/multiarch-container.scm (make-container-wrapper): Set
LIBVA_DRIVERS_PATH and preserve it.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
| Hilton Chain |
| 2024-03-22 | nonguix: multiarch-container: Share Wayland environment.•••* nonguix/multiarch-container.scm (make-container-wrapper): Preserve environment
variables and share socket for Wayland.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
| Hilton Chain |
| 2024-03-22 | nonguix: multiarch-container: Symlink EGL configurations.•••* nonguix/multiarch-container.scm (make-internal-script): Symlink EGL
configurations.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
| Hilton Chain |
| 2024-03-22 | nonguix: multiarch-container: Symlink all available Vulkan layers.•••* nonguix/multiarch-container.scm (make-internal-script): Symlink all
available Vulkan layers.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
| Hilton Chain |
| 2024-03-22 | multiarch-container: make-internal-script: Improve icd-symlink.•••* 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>
| Hilton Chain |
| 2024-01-31 | nongnu: multiarch-container: Fix preserved-env not being used.•••* 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>
| Michal Atlas |
| 2024-01-10 | nonguix: multiarch-container: Allow extra shared directories.•••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.
| John Kehayias |
| 2024-01-06 | nonguix: multiarch-container: Set LD_LIBRARY_PATH inside container.•••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.
| John Kehayias |
| 2024-01-04 | nongnu: multiarch-container: Fix missing module on foreign distros.•••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).
| John Kehayias |
| 2024-01-04 | nonguix: binary: Cleanup when an unknown binary extension is detected.•••The binary-unpack phase suffered from a problem for unknown binary file
extensions, see: !336 (comment 1709385147) . This patch fixes the
incorrect behavior by effectively restoring the state of the directory
tree before the phase.
* nonguix/build/binary-build-system.scm (binary-unpack): Restore the
environment as it was before this phase.
* nongnu/packages/clojure.scm (clj-kondo)[arguments]: No longer delete
'binary-unpack phase.
* nongnu/packages/game-development.scm (libsteam)[arguments]: dito.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
| Giacomo Leidi |
| 2024-01-03 | nongnu: Add heroic.•••* 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".
| John Kehayias |
| 2024-01-03 | nongnu: steam-nvidia: Fix launching .desktop files.•••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>
| Timo Wilken |
| 2023-12-28 | nonguix: binary: Automatically detect and unpack .deb files.•••A new binary-unpack phase is added to the binary-build-system. When a
supported binary file is detected as the only file after the unpack
phase it is then decompressed in a specific directory.
* nonguix/build/binary-build-system.scm (deb-file?): new variable;
(unpack-deb): new variable;
(binary-unpack): new variable;
(%standard-phases): use the new phase.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
| Giacomo Leidi |
| 2023-11-11 | nonguix: multiarch-container: Make locale usable by pressure-vessel.•••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.
| John Kehayias |
| 2023-11-11 | nonguix: multiarch-container: Preserve MANGOHUD.•••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.
| John Kehayias |
| 2023-11-11 | nonguix: multiarch-container: Set LD_LIBRARY_PATH (for steam).•••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.
| John Kehayias |