diff options
| author | Ophestra <cat@gensokyo.uk> | 2024-12-29 23:37:11 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2024-12-29 23:37:11 +0900 |
| commit | f8d0786509dcd68ea674c0b37201e2e8a60f98e8 (patch) | |
| tree | 7bf19a676e69365b97ad20f1aeae3c38b3d968ee | |
| parent | 56a73bb019ef807e11ed99bb1e89f032e7a1f393 (diff) | |
cmd/fpkg: include nixGL source in inner store
Signed-off-by: Ophestra <cat@gensokyo.uk>
| -rw-r--r-- | bundle.nix | 13 | ||||
| -rw-r--r-- | cmd/fpkg/bundle.go | 2 | ||||
| -rw-r--r-- | cmd/fpkg/install.go | 3 |
3 files changed, 16 insertions, 2 deletions
@@ -12,6 +12,7 @@ writeText, vmTools, runCommand, + fetchFromGitHub, nix, @@ -109,6 +110,13 @@ let inherit (ext) call broadcast; }; + nixGL = fetchFromGitHub { + owner = "nix-community"; + repo = "nixGL"; + rev = "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a"; + hash = "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM="; + }; + info = builtins.toJSON { inherit name @@ -144,6 +152,7 @@ let + (if allow_dbus then 4 else 0) + (if allow_pulse then 8 else 0); + nix_gl = if gpu then nixGL else null; current_system = nixos.config.system.build.toplevel; activation_package = homeManagerConfiguration.activationPackage; }; @@ -158,7 +167,9 @@ writeScript "fortify-${pname}-bundle-prelude" '' nix copy --no-check-sigs --to "$OUT" "${nix}" "${nixos.config.system.build.toplevel}" nix store --store "$OUT" optimise chmod -R +r "$OUT/nix/var" - nix copy --no-check-sigs --to "file://$OUT/res?compression=zstd&compression-level=19¶llel-compression=true" "${homeManagerConfiguration.activationPackage}" "${launcher}" + nix copy --no-check-sigs --to "file://$OUT/res?compression=zstd&compression-level=19¶llel-compression=true" \ + "${homeManagerConfiguration.activationPackage}" \ + "${launcher}" ${if gpu then nixGL else ""} mkdir -p "$OUT/etc" tar -C "$OUT/etc" -xf "${etc}/etc.tar" cp "${writeText "bundle.json" info}" "$OUT/bundle.json" diff --git a/cmd/fpkg/bundle.go b/cmd/fpkg/bundle.go index aa1eecdb..572b295c 100644 --- a/cmd/fpkg/bundle.go +++ b/cmd/fpkg/bundle.go @@ -40,6 +40,8 @@ type bundleInfo struct { // allow gpu access within sandbox GPU bool `json:"gpu"` + // store path to nixGL source + NixGL string `json:"nix_gl,omitempty"` // store path to activate-and-exec script Launcher string `json:"launcher"` // store path to /run/current-system diff --git a/cmd/fpkg/install.go b/cmd/fpkg/install.go index 0b7ce7a6..36661647 100644 --- a/cmd/fpkg/install.go +++ b/cmd/fpkg/install.go @@ -98,7 +98,8 @@ func actionInstall(args []string) { if app != bundle { // do not try to re-install - if app.CurrentSystem == bundle.CurrentSystem && + if app.NixGL == bundle.NixGL && + app.CurrentSystem == bundle.CurrentSystem && app.Launcher == bundle.Launcher && app.ActivationPackage == bundle.ActivationPackage { cleanup() |
