arion
arion copied to clipboard
Current documentation doesn't seem to work, gives error "project.name" is used but not defined.
Is the following the correct/current documentation? I'm currently using VoidLinux and nix
from the package manager. nix
, nix-shell
and nix-env
all return 2.10.3 for --version
.
I created the following shell.nix
(the only part not in the documentation):
let
# nixos-22.05 / https://status.nixos.org/
pkgs = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/d86a4619b7e80bddb6c01bc01a954f368c56d1df.tar.gz") {};
arion = import (fetchTarball "https://github.com/hercules-ci/arion/tarball/master") {};
shellDeps = with pkgs; [
bash arion.arion
];
in
pkgs.mkShell {
buildInputs = shellDeps;
shellHook = ''
export TEST="foo"
'';
}
Per the documentation, arion-pkgs.nix
only contains the single line import <nixpkgs> { system = "x86_64-linux"; }
. My arion-compose.nix
contains the stock file in the documentation:
{ pkgs, ... }:
{
config.services = {
webserver = {
service.useHostStore = true;
service.command = [ "sh" "-c" ''
cd "$$WEB_ROOT"
${pkgs.python3}/bin/python -m http.server
'' ];
service.ports = [
"8000:8000" # host:container
];
service.environment.WEB_ROOT = "${pkgs.nix.doc}/share/doc/nix/manual";
};
};
}
If I run nix-shell
followed by arion up
within the shell, I get the following:
nix-shell:~/certificates]$ arion up
error: The option `project.name' is used but not defined.
(use '--show-trace' to show detailed location information)
And the full stack trace looks like the following:
[nix-shell:~/certificates]$ arion up
error: The option `project.name' is used but not defined.
(use '--show-trace' to show detailed location information)
[nix-shell:~/certificates]$ arion --show-trace up
error: The option `project.name' is used but not defined.
… while evaluating the attribute 'mergedValue'
at /nix/store/hjxd6dd89ky8whv01ld0s5s85hgmpkk3-nixpkgs/nixpkgs/lib/modules.nix:753:5:
752| # Type-check the remaining definitions, and merge them. Or throw if no definitions.
753| mergedValue =
| ^
754| if isDefined then
… while evaluating the option `project.name':
… while evaluating the attribute 'value'
at /nix/store/hjxd6dd89ky8whv01ld0s5s85hgmpkk3-nixpkgs/nixpkgs/lib/modules.nix:719:9:
718| in warnDeprecation opt //
719| { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
| ^
720| inherit (res.defsFinal') highestPrio;
… while evaluating anonymous lambda
at /nix/store/hjxd6dd89ky8whv01ld0s5s85hgmpkk3-nixpkgs/nixpkgs/lib/modules.nix:268:72:
267| # For definitions that have an associated option
268| declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
| ^
269|
… from call site
at /nix/store/hjxd6dd89ky8whv01ld0s5s85hgmpkk3-nixpkgs/nixpkgs/lib/attrsets.nix:401:20:
400| then recurse (path ++ [name]) value
401| else f (path ++ [name]) value;
| ^
402| in mapAttrs g;
… while evaluating 'g'
...
...
...(and it goes on for a bit)
Is something wrong with my shell.nix
file in the way I pull in arion, or is the documentation incorrect?