flake-edit
has the following cli interface:
Edit your flake inputs with ease.
Usage: flake-edit [OPTIONS] <COMMAND>
Commands:
add
Add a new flake reference
remove
Remove a specific flake reference based on its id
list
List flake inputs
update
Update inputs to their latest specified release
pin
Pin inputs to their current or a specified rev
help
Print this message or the help of the given subcommand(s)
Options:
--flake <FLAKE>
Location of the `flake.nix` file, that will be used
--diff
Print a diff of the changes, will set the apply flag to false
--apply
Whether to apply possible changes
-h, --help
Print help
-V, --version
Print version
Add a new flake reference
Usage: flake-edit add [OPTIONS] [ID] [URI]
Arguments:
[ID]
The name of an input attribute
[URI]
The uri that should be added to the input
Options:
--ref-or-rev <REF_OR_REV>
Pin to a specific ref_or_rev
-n, --no-flake
The input itself is not a flake
-h, --help
Print help
For some types, the id will be automatically inferred.
For some inputs, the uri can be put in directly and the id and type will be inferred.
Remove a specific flake reference based on its id
Usage: flake-edit remove [ID]
Arguments:
[ID]
Options:
-h, --help
Print help
Update inputs to their latest specified release
Usage: flake-edit update [OPTIONS] [ID]
Arguments:
[ID]
The id of an input attribute. If omitted will update all inputs
Options:
--init
Whether the latest semver release of the remote should be used even thought the release itself isn't yet pinned to a specific release
-h, --help
Print help
List flake inputs
Usage: flake-edit list [OPTIONS]
Options:
--format <FORMAT>
[default: detailed]
-h, --help
Print help
List the outputs, that are specified inside the inputs attribute. List the outputs, that are specified inside the inputs attribute, in json format.
Pin inputs to their current or a specified rev
Usage: flake-edit pin <ID> [REV]
Arguments:
<ID>
The id of an input attribute
[REV]
Optionally specify a rev for the inputs attribute
Options:
-h, --help
Print help
Pin a specific input to it's current revision (rev).
Add flake-edit
as a library by running:
cargo add flake-edit --no-default-features
Be aware that the lib
interface is still unstable.
Though we are already happy to get feedback.
Note
This project is currently in active development and should be considered a work in progress.
The goal of flake-edit
is to provide a robust and well-tested interface to flake inputs.
Many edge cases are not covered yet, if you find any issues please consider opening an issue, or a pr.
And we would be happy for feedback of the cli interface especially.
We welcome contributions from the community! Check out the Contributing Guidelines on how to get started.
Stay updated with the latest changes by viewing the Changelog.
MIT