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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions