mirror of
https://gitlab.com/nonguix/nonguix.git
synced 2025-10-02 02:14:59 +00:00
nongnu: Export steam containers and minor refactor.
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>
This commit is contained in:
parent
5bc3c9da84
commit
c323f4c866
2 changed files with 37 additions and 52 deletions
|
@ -6,6 +6,7 @@
|
||||||
;;; Copyright © 2021 Kozo <kozodev@runbox.com>
|
;;; Copyright © 2021 Kozo <kozodev@runbox.com>
|
||||||
;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
|
;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
|
;;; Copyright © 2023 Elijah Malaby
|
||||||
|
|
||||||
(define-module (nongnu packages steam-client)
|
(define-module (nongnu packages steam-client)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
@ -163,8 +164,7 @@
|
||||||
(define steam-ld.so.cache
|
(define steam-ld.so.cache
|
||||||
(ld.so.conf->ld.so.cache steam-ld.so.conf))
|
(ld.so.conf->ld.so.cache steam-ld.so.conf))
|
||||||
|
|
||||||
(define-public steam
|
(define-public steam-container
|
||||||
(nonguix-container->package
|
|
||||||
(nonguix-container
|
(nonguix-container
|
||||||
(name "steam")
|
(name "steam")
|
||||||
(wrap-package steam-client)
|
(wrap-package steam-client)
|
||||||
|
@ -187,35 +187,17 @@
|
||||||
(description "Steam is a digital software distribution platform created by
|
(description "Steam is a digital software distribution platform created by
|
||||||
Valve. This package provides a script for launching Steam in a Guix container
|
Valve. This package provides a script for launching Steam in a Guix container
|
||||||
which will use the directory @file{$HOME/.local/share/guix-sandbox-home} where
|
which will use the directory @file{$HOME/.local/share/guix-sandbox-home} where
|
||||||
all games will be installed."))))
|
all games will be installed.")))
|
||||||
|
|
||||||
(define-public steam-nvidia
|
(define-public steam-nvidia-container
|
||||||
(nonguix-container->package
|
|
||||||
(nonguix-container
|
(nonguix-container
|
||||||
|
(inherit steam-container)
|
||||||
(name "steam-nvidia")
|
(name "steam-nvidia")
|
||||||
(wrap-package steam-client)
|
(union64 (replace-mesa (ngc-union64 steam-container)))
|
||||||
(run "/bin/steam")
|
(union32 (replace-mesa (ngc-union32 steam-container)))))
|
||||||
(ld.so.conf steam-ld.so.conf)
|
|
||||||
(ld.so.cache steam-ld.so.cache)
|
(define-public steam (nonguix-container->package steam-container))
|
||||||
(union64
|
(define-public steam-nvidia (nonguix-container->package steam-nvidia-container))
|
||||||
(replace-mesa
|
|
||||||
(fhs-union `(,@steam-client-libs
|
|
||||||
,@steam-gameruntime-libs
|
|
||||||
,@fhs-min-libs)
|
|
||||||
#:name "fhs-union-64")))
|
|
||||||
(union32
|
|
||||||
(replace-mesa
|
|
||||||
(fhs-union `(,@steam-client-libs
|
|
||||||
,@steam-gameruntime-libs
|
|
||||||
,@fhs-min-libs)
|
|
||||||
#:name "fhs-union-32"
|
|
||||||
#:system "i686-linux")))
|
|
||||||
(link-files '("share/applications/steam.desktop"
|
|
||||||
"share/applications/steam-asound32.desktop"))
|
|
||||||
(description "Steam is a digital software distribution platform created by
|
|
||||||
Valve. This package provides a script for launching Steam in a Guix container
|
|
||||||
which will use the directory @file{$HOME/.local/share/guix-sandbox-home} where
|
|
||||||
all games will be installed."))))
|
|
||||||
|
|
||||||
(define-public protonup-ng
|
(define-public protonup-ng
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
|
;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
|
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
|
||||||
|
;;; Copyright © 2023 Elijah Malaby
|
||||||
|
|
||||||
;;; The script provided by this package may optionally be started as
|
;;; The script provided by this package may optionally be started as
|
||||||
;;; a shell instead of automatically launching the wrapped entrypoint by setting
|
;;; a shell instead of automatically launching the wrapped entrypoint by setting
|
||||||
|
@ -303,7 +304,8 @@ in a sandboxed FHS environment."
|
||||||
,@(exists-> "/sys/class/powercap") ; Needed for power monitoring like MangoHud.
|
,@(exists-> "/sys/class/powercap") ; Needed for power monitoring like MangoHud.
|
||||||
"/sys/dev"
|
"/sys/dev"
|
||||||
"/sys/devices"
|
"/sys/devices"
|
||||||
,@(exists-> "/var/run/dbus")))
|
,@(exists-> "/var/run/dbus")
|
||||||
|
#$@(ngc-exposed container)))
|
||||||
;; /dev/hidraw is needed for SteamVR to access the HMD, although here we
|
;; /dev/hidraw is needed for SteamVR to access the HMD, although here we
|
||||||
;; share all hidraw devices. Instead we could filter to only share specific
|
;; share all hidraw devices. Instead we could filter to only share specific
|
||||||
;; device. See, for example, this script:
|
;; device. See, for example, this script:
|
||||||
|
@ -317,7 +319,8 @@ in a sandboxed FHS environment."
|
||||||
,@(exists-> (string-append home "/.config/pulse"))
|
,@(exists-> (string-append home "/.config/pulse"))
|
||||||
,@(exists-> (string-append xdg-runtime "/pulse"))
|
,@(exists-> (string-append xdg-runtime "/pulse"))
|
||||||
,@(exists-> (string-append xdg-runtime "/bus"))
|
,@(exists-> (string-append xdg-runtime "/bus"))
|
||||||
,@(exists-> (getenv "XAUTHORITY"))))
|
,@(exists-> (getenv "XAUTHORITY"))
|
||||||
|
#$@(ngc-shared container)))
|
||||||
(DEBUG (equal? (getenv "DEBUG") "1"))
|
(DEBUG (equal? (getenv "DEBUG") "1"))
|
||||||
(args (cdr (command-line)))
|
(args (cdr (command-line)))
|
||||||
(command (if DEBUG '()
|
(command (if DEBUG '()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue