Skip to content

nix-eval-jobs compatibility #154

@andre4ik3

Description

@andre4ik3

Currently there is no "Determinate nix-eval-jobs", meaning anything that uses Determinate Nix-specific features (such as build-time flake inputs) will fail with nix-eval-jobs:

+ nix-eval-jobs --flake .#hydraJobs --force-recurse --no-instantiate --option allow-import-from-derivation false --show-trace --max-memory-size 1024 --workers 2
warning: unknown experimental feature 'build-time-fetch-tree'
warning: unknown setting 'bash-prompt-prefix'
warning: unknown setting 'eval-cores'
warning: unknown setting 'lazy-trees'
warning: unknown setting 'trusted-users'
warning: Git tree '/home/runner/work/dotfiles/dotfiles' is dirty
warning: Git tree '/home/runner/work/dotfiles/dotfiles' is dirty
error: unexpected flake input attribute 'buildTime', at /home/runner/work/dotfiles/dotfiles/flake.nix:281:5
error: unexpected flake input attribute 'buildTime', at /home/runner/work/dotfiles/dotfiles/flake.nix:281:5
error: worker error: error: unexpected flake input attribute 'buildTime', at /home/runner/work/dotfiles/dotfiles/flake.nix:281:5

It would be nice to have an overlay with a nix-eval-jobs that is built against Determinate Nix instead of upstream Nix, so that it handles this correctly, similar to how Lix does this.

I tried an overlay like this:

(final: prev: {
  nix-eval-jobs = prev.nix-eval-jobs.override {
    nixComponents = final.determinate-nix-components;
  };
})

(where determinate-nix-components is from DeterminateSystems/nix-src)

But it fails with compilation errors.

I'll try to use nix-eval-jobs as a flake similar to above, but I think it requires patches in either case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions