Skip to content

nix profile install fails: libgit2 error 9 – missing blob in SimulaVR/environments@91bb377 #235

Description

@rifux

I was testing whether Simula works as a potential display server/compositor for Rokid Max 1st gen AR glasses (considering a purchase). Installation via the documented Nix flake command fails during evaluation.

Environment

  • OS: CachyOS (Arch-based) x86_64
  • Nix: Flakes-enabled, non-NixOS
  • Hardware: ThinkPad E14 Gen 5, AMD Radeon graphics
  • Command run from: clean shell, no local clone

Command

nix profile install github:SimulaVR/Simula

Error Output

~
❯ nix profile install github:SimulaVR/Simula
warning: 'install' is a deprecated alias for 'add'
warning: ignoring untrusted substituter 'https://simula.cachix.org', you are not a trusted user.
Run `man nix.conf` for more information on the `substituters` configuration option.
warning: ignoring the client-specified setting 'trusted-public-keys', because it is a restricted setting and you are not a trusted user
error:
       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'simula-0.0.0'
         whose name attribute is located at «github:nixos/nixpkgs/23d72dabcb3b12469f57b37170fcbc1789bd7457?narHash=sha256-z5NJPSBwsLf/OfD8WTmh79tlSU8XgIbwmk6qB1/TFzY%3D»/pkgs/stdenv/generic/make-derivation.nix:541:13

       … while evaluating attribute 'installPhase' of derivation 'simula-0.0.0'
         at «github:SimulaVR/Simula/2fbec171759f5e0d7cca2d121dfd081d476c0073»/flake.nix:421:15:
          420|
          421|               installPhase = ''
             |               ^
          422|                 runHook preInstall

       (stack trace truncated; use '--show-trace' to show the full, detailed trace)

       error: looking up file '«git+https://github.com/SimulaVR/environments?ref=refs/heads/master&rev=91bb3777d558e809be12bcc94f6c984487994765&shallow=1»/AllSkyFree_Sky_AnotherPlanet_Equirect.png': object not found - no match for id (6f37903fa7bf58d67d2bee12454315a577f56903) (libgit2 error code = 9)

~
❯ 

Observed Behavior

Nix evaluation fails when attempting to fetch a file from the environments input at the pinned revision 91bb3777d558e809be12bcc94f6c984487994765. The error references a specific blob ID (6f37903fa7bf58d67d2bee12454315a577f56903) that the Git fetcher cannot resolve.


Expected Behavior

nix profile install github:SimulaVR/Simula should successfully evaluate the flake, fetch all inputs (including environments), and build/install the simula package.


Steps to Reproduce

  1. Run nix profile install github:SimulaVR/Simula on a flakes-enabled Nix installation (non-NixOS)
  2. Observe evaluation failure during installPhase

Additional Context

  • The environments input is used to copy skybox assets into the Nix store during installPhase.
  • I have not cloned the repository locally; this occurs with a direct flake reference.

Request

Could maintainers verify whether the environments repository at revision 91bb3777d558e809be12bcc94f6c984487994765 contains the referenced blob for AllSkyFree_Sky_AnotherPlanet_Equirect.png? If the object is missing, updating the pinned revision or providing a local-build workaround in the README would help unblock installation attempts.

Note: I am filing this as a user evaluating Simula for potential use with AR glasses; I do not have push access to either repository. Happy to provide additional logs if helpful.

Activity

  1. georgewsinger commented on Apr 11, 2026

    @georgewsinger
    Collaborator

    What version of nix are you running?

    I'm unable to duplicate this on my machine (running nix 2.28.4). I'm running NixOS though, so it's possible that has something to do with it.

  2. georgewsinger commented on Apr 11, 2026

    @georgewsinger
    Collaborator

    Also: Simula absolutely supports the Rokid Max. We're releasing compute packs in a few weeks which are explicitly designed to be plug and play compatible with the Rokid.

  3. KaneTW commented on Apr 11, 2026

    @KaneTW
    Collaborator

    I just verified this on a non-NixOS. It failed with Nix 2.20.4 with a different error but succeeded with the latest stable version 2.31.4

  4. rifux commented on Apr 15, 2026

    @rifux
    Author

    I've tested this on the official Nix 2.34.5 multi-user installation:

    ❯ nix profile install --show-trace github:SimulaVR/Simula
    warning: 'install' is a deprecated alias for 'add'
    warning: ignoring untrusted substituter 'https://simula.cachix.org', you are not a trusted user.
    Run `man nix.conf` for more information on the `substituters` configuration option.
    warning: ignoring the client-specified setting 'trusted-public-keys', because it is a restricted setting and you are not a trusted user
    error:
           … while calling the 'derivationStrict' builtin
             at «nix-internal»/derivation-internal.nix:37:12:
               36|
               37|   strict = derivationStrict drvAttrs;
                 |            ^
               38|
    
           … while evaluating derivation 'simula-0.0.0'
             whose name attribute is located at «github:nixos/nixpkgs/23d72dabcb3b12469f57b37170fcbc1789bd7457?narHash=sha256-z5NJPSBwsLf/OfD8WTmh79tlSU8XgIbwmk6qB1/TFzY%3D»/pkgs/stdenv/generic/make-derivation.nix:541:13
    
           … while evaluating attribute 'installPhase' of derivation 'simula-0.0.0'
             at «github:SimulaVR/Simula/c863bdbe9ca29f0d1f8019df3a44a7335d0d658d»/flake.nix:650:15:
              649|
              650|               installPhase = ''
                 |               ^
              651|                 runHook preInstall
    
           … from call site
             at «github:SimulaVR/Simula/c863bdbe9ca29f0d1f8019df3a44a7335d0d658d»/flake.nix:417:23:
              416|               mkdir -p $out/opt/simula/environments
              417|               cp -r ${inputs.environments}/* $out/opt/simula/environments/
                 |                       ^
              418|               chmod -R 755 $out/opt/simula/environments
    
           … while calling anonymous lambda
             at «flakes-internal»/call-flake.nix:68:37:
               67|
               68|       inputs = mapAttrs (inputName: inputSpec: allNodes.${resolveInput inputSpec}.result) (
                 |                                     ^
               69|         node.inputs or { }
    
           … while evaluating the attribute 'environments.result'
             at «flakes-internal»/call-flake.nix:94:7:
               93|     {
               94|       result =
                 |       ^
               95|         if node.flake or true then
    
           … in the left operand of the update (//) operator
             at «flakes-internal»/call-flake.nix:99:11:
               98|         else
               99|           sourceInfo // { inherit sourceInfo outPath; };
                 |           ^
              100|
    
           … while calling the 'fetchFinalTree' builtin
             at «flakes-internal»/call-flake.nix:56:11:
               55|           # Note: lock file entries are always final.
               56|           fetchTreeFinal (node.info or { } // removeAttrs node.locked [ "dir" ]);
                 |           ^
               57|
    
           error: looking up file '«git+https://github.com/SimulaVR/environments?ref=refs/heads/master&rev=91bb3777d558e809be12bcc94f6c984487994765&shallow=1»/AllSkyFree_Sky_AnotherPlanet_Equirect.png': object not found - no match for id (6f37903fa7bf58d67d2bee12454315a577f56903) (libgit2 error code = 9)
    
    ~
    ❯ nix --version
    nix (Nix) 2.34.5
    
    ~
    ❯ 

    I wanted to see if the installation method was relevant, so I switched to Nix 2.34.6 installed via pacman. The error remains identical:

    ~
    ❯ nix profile install github:SimulaVR/Simula --show-trace
    warning: 'install' is a deprecated alias for 'add'
    warning: ignoring untrusted substituter 'https://simula.cachix.org', you are not a trusted user.
    Run `man nix.conf` for more information on the `substituters` configuration option.
    warning: ignoring the client-specified setting 'trusted-public-keys', because it is a restricted setting and you are not a trusted user
    error:
           … while calling the 'derivationStrict' builtin
             at «nix-internal»/derivation-internal.nix:37:12:
               36|
               37|   strict = derivationStrict drvAttrs;
                 |            ^
               38|
    
           … while evaluating derivation 'simula-0.0.0'
             whose name attribute is located at «github:nixos/nixpkgs/23d72dabcb3b12469f57b37170fcbc1789bd7457?narHash=sha256-z5NJPSBwsLf/OfD8WTmh79tlSU8XgIbwmk6qB1/TFzY%3D»/pkgs/stdenv/generic/make-derivation.nix:541:13
    
           … while evaluating attribute 'installPhase' of derivation 'simula-0.0.0'
             at «github:SimulaVR/Simula/c863bdbe9ca29f0d1f8019df3a44a7335d0d658d»/flake.nix:650:15:
              649|
              650|               installPhase = ''
                 |               ^
              651|                 runHook preInstall
    
           … from call site
             at «github:SimulaVR/Simula/c863bdbe9ca29f0d1f8019df3a44a7335d0d658d»/flake.nix:417:23:
              416|               mkdir -p $out/opt/simula/environments
              417|               cp -r ${inputs.environments}/* $out/opt/simula/environments/
                 |                       ^
              418|               chmod -R 755 $out/opt/simula/environments
    
           … while calling anonymous lambda
             at «flakes-internal»/call-flake.nix:68:37:
               67|
               68|       inputs = mapAttrs (inputName: inputSpec: allNodes.${resolveInput inputSpec}.result) (
                 |                                     ^
               69|         node.inputs or { }
    
           … while evaluating the attribute 'environments.result'
             at «flakes-internal»/call-flake.nix:94:7:
               93|     {
               94|       result =
                 |       ^
               95|         if node.flake or true then
    
           … in the left operand of the update (//) operator
             at «flakes-internal»/call-flake.nix:99:11:
               98|         else
               99|           sourceInfo // { inherit sourceInfo outPath; };
                 |           ^
              100|
    
           … while calling the 'fetchFinalTree' builtin
             at «flakes-internal»/call-flake.nix:56:11:
               55|           # Note: lock file entries are always final.
               56|           fetchTreeFinal (node.info or { } // removeAttrs node.locked [ "dir" ]);
                 |           ^
               57|
    
           error: looking up file '«git+https://github.com/SimulaVR/environments?ref=refs/heads/master&rev=91bb3777d558e809be12bcc94f6c984487994765&shallow=1»/AllSkyFree_Sky_AnotherPlanet_Equirect.png': object not found - no match for id (6f37903fa7bf58d67d2bee12454315a577f56903) (libgit2 error code = 9)
    
    ~
    ❯ nix --version
    nix (Nix) 2.34.6
    
    ~
    ❯

    Here is my nix.conf just in case:

    ~
    ❯ cat /etc/nix/nix.conf
    #
    # https://nixos.org/manual/nix/stable/#sec-conf-file
    #
    
    # Unix group containing the Nix build user accounts
    build-users-group = nixbld
    experimental-features = nix-command flakes
    trusted-users = root me
    
    ~
    ❯ 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions