You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This would make nixos-generate search for the format file my-custom-format.nix in the following directories, ordered from highest to lowest precedence:
CLI arguments are highest-precedence, with later arguments (those toward the end of argv) being of higher precedence than earlier arguments,
The search path specified in NIXOS_GENERATORS_FORMAT_SEARCH_PATH is next-highest-precedence, and
The builtin format directory is lowest-precedence.
Example use cases
Setting the NIXOS_GENERATORS_FORMAT_SEARCH_PATH environment varible in a devshell configuration so that entering nix develop makes the project's custom nixos-generate formats available via the --format flag rather than only via typing out their paths.
Using makeWrapper/wrapProgram to ship a custom nixos-generate with additional format definitions, without having to rebuild nixos-generators itself (and modify its builder, etc.).
Easily incorporating libraries of custom formats supplied by third parties.
WDYT?
I would be happy to submit a PR introducing the described changes if they sound sane and desirable. Thanks in advance for your feedback.
The text was updated successfully, but these errors were encountered:
well, I guess it wouldn't do any harm to have multiple search paths? I usually just type the full path to the format, so it's not really a usecase for me. however, if the implementation is not to complex I would be happy to merge it
I have another idea that could solve a similar problem. Maybe --format could accept a flake uri, so you could do nixos-generate --flake .#NixOS --format github:divnix/digga#nixosModules.bootstrapIso. And maybe a new flake output could be used, something like generatorModules, since formats aren't exactly nixos modules.
well, I guess it wouldn't do any harm to have multiple search paths? I usually just type the full path to the format, so it's not really a usecase for me. however, if the implementation is not to complex I would be happy to merge it
I think the main issue we're facing is the usage of custom formats that can't be added to nixos generators proper, but we would like users to be able to use them easily. Since the formats are in remote repositories, its hard to get the exact path to them.
nixos-generators-search-path-proposal
Proposal
Support runtime extension of the format file search path via environment variables and CLI options.
Motivation
Provide a mechanism for end users and third parties to host libraries of
nixos-generate
formats.Hypothetical usage
This would make
nixos-generate
search for the format filemy-custom-format.nix
in the following directories, ordered from highest to lowest precedence:/yes/there/is/another/location
/yet/another/location
/some/location
/another/location
/nix/store/...-nixos-generators/share/nixos-generator/format
In other words:
argv
) being of higher precedence than earlier arguments,NIXOS_GENERATORS_FORMAT_SEARCH_PATH
is next-highest-precedence, andExample use cases
NIXOS_GENERATORS_FORMAT_SEARCH_PATH
environment varible in adevshell
configuration so that enteringnix develop
makes the project's customnixos-generate
formats available via the--format
flag rather than only via typing out their paths.makeWrapper
/wrapProgram
to ship a customnixos-generate
with additional format definitions, without having to rebuildnixos-generators
itself (and modify its builder, etc.).WDYT?
I would be happy to submit a PR introducing the described changes if they sound sane and desirable. Thanks in advance for your feedback.
The text was updated successfully, but these errors were encountered: