-
Couldn't load subscription status.
- Fork 93
Description
Describe the bug
A vanilla flake (or even with flake-parts) with devShells entry will yield, for example, a outputs.devShells.aarch64-darwin.default.outputs attribute set.
A flake using on devshell does not have this attribute set.
To Reproduce
Steps to reproduce the behavior:
Vanilla/flake-parts flake:
{
description = "Description for the project";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts = {
inputs.nixpkgs-lib.follows = "nixpkgs";
url = "github:hercules-ci/flake-parts";
};
};
outputs =
inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [
"aarch64-darwin"
];
perSystem =
{
pkgs,
...
}:
{
devShells.default = pkgs.mkShell {
packages = [
pkgs.git
];
};
};
};
}in nix repl, this yields:
nix-repl> outputs.devShells.aarch64-darwin.default.outputs
[ "out" ]
Using a minimal devshell flake:
{
description = "Description for the project";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts = {
inputs.nixpkgs-lib.follows = "nixpkgs";
url = "github:hercules-ci/flake-parts";
};
devshell.url = "github:numtide/devshell";
};
outputs =
inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [ inputs.devshell.flakeModule ];
systems = [
"aarch64-darwin"
];
perSystem =
{
pkgs,
...
}:
{
devshells.default = {
packages = [
pkgs.git
];
};
};
};
}nix repl yields:
nix-repl> outputs.devShells.aarch64-darwin.default.outputs
warning: Nix search path entry '/Users/max/.nix-defexpr/channels' does not exist, ignoring
error: attribute 'outputs' missing
at «string»:1:1:
1| outputs.devShells.aarch64-darwin.default.outputs
| ^
Expected behavior
I am interpreting derivation {}'s docs to imply that while it's outputs argument is optional, because it has a default "out", all flake outputs can be expected to have a *.default.outputs attribute set.
System information
This is macOS 15.3.1, nix (Nix) 2.26.2.
Additional context
Other software such as flake-iter also seems to assume the *.default.outputs attribute; that's where I ran into this problem, see DeterminateSystems/flake-iter#22