Skip to content

nix profile stores a 'resolved' source attribute #10077

@bobvanderlinden

Description

@bobvanderlinden

Describe the bug

Currently whenever an package is installed using nix profile, the fragment of an installable is 'resolved'. For instance, nixpkgs#nodejs is implicitly resolved to flake:nixpkgs#legacyPackages.x86_64-linux.nodejs. This is somewhat confusing.

It would be nice if the original source flake uri is stored.

In addition, this could be a steppingstone toward supporting #10064.

Steps To Reproduce

$ nix profile install nixpkgs#nodejs
$ nix profile list
...
Name:               nodejs
Flake attribute:    legacyPackages.x86_64-linux.nodejs
Original flake URL: flake:nixpkgs
Locked flake URL:   github:NixOS/nixpkgs/9a9dae8f6319600fa9aebde37f340975cab4b8c0
Store paths:        /nix/store/vz13mi0w75q96sfjxz2ylnv8812hvf34-nodejs-20.11.1

Expected behavior

It would be nice to just see the original flake URI instead:

$ nix profile install nixpkgs#nodejs
$ nix profile list
...
Name:               nodejs
Installable:        nixpkgs#nodejs
Locked installable: github:NixOS/nixpkgs/9a9dae8f6319600fa9aebde37f340975cab4b8c0#legacyPackages.x86_64-linux.nodejs
Store paths:        /nix/store/vz13mi0w75q96sfjxz2ylnv8812hvf34-nodejs-20.11.1

Additional context

Part of #7966

Priorities

Add 👍 to issues you find important.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugnew-cliRelating to the "nix" commandprofilesVersioned gc root symlinks; nix profile, nix-env

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions