determinatesystems/Publish Nix flakes to FlakeHub
Find, install, and publish Nix Flakes with FlakeHub.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jun 18, 2026
- License
- None
Pinned Snippet
uses: determinatesystems/flakehub-push@71f57208810a5d299fc6545350981de98fdbc860 # v6tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| visibility | `public`, `unlisted`, or `private` (private flakes are available only on a [FlakeHub paid plan](https://flakehub.com/signup)) | yes | — |
| name | The name of your published flake. In the format of OrgName/RepoName. OrgName must match your organization's GitHub root name or the publish will fail. | no | — |
| repository | The actual GitHub repository containing your flake. In the format of OrgName/RepoName. | yes | ${{ github.repository }} |
| mirror | If the repository is mirrored via DeterminateSystems' mirror functionality. This is only usable by DeterminateSystems. | no | false |
| directory | The path of your flake relative to the root of the repository. Useful for subflakes. | no | — |
| git-root | The root directory of your Git repository. | no | . |
| tag | The Git tag to use, for non-rolling releases. This must be the character `v` followed by a SemVer version, e.g. `v0.1.1`. | no | — |
| rev | The Git revision SHA to use for non-rolling releases. | no | — |
| rolling-major | Specify the SemVer major version of your rolling releases. All releases will follow the versioning scheme '[rolling-major].[rolling-minor].[commit count]+rev-[git sha]' | no | — |
| rolling-minor | Specify the SemVer minor version of your rolling releases. All releases will follow the versioning scheme '[rolling-major].[rolling-minor].[commit count]+rev-[git sha]' | no | — |
| rolling | For untagged releases, use a rolling versioning scheme. When this is enabled, the default versioning scheme is 0.1.[commit count]+rev-[git sha]. To customize the SemVer minor version, set the `rolling-minor` option. | no | false |
| host | The FlakeHub server to use. | no | https://api.flakehub.com |
| log-directives | A comma-separated list of [tracing directives](https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives). `-`s are replaced with `_`s (such as `nix_installer=trace`). | no | flakehub_push=info |
| logger | The logger to use. Options are `pretty`, `json`, `full` and `compact`. | no | full |
| github-token | A GitHub token for making authenticated GitHub API requests. | — | ${{ github.token }} |
| extra-tags | DEPRECATED: Please use `extra-labels` instead. | no | "" |
| extra-labels | `flakehub-push` automatically uses the GitHub repo's topics as labels. This `extra-labels` parameter enables you to add extra labels beyond that as a comma-separated string. Only alphanumeric characters and hyphens are allowed in labels and the maximum length of labels is 50 characters. You can specify a maximum of 20 extra labels, and have a maximum of 25 labels, including those that we retrieve from GitHub. Any labels after the 25th will be ignored. | no | "" |
| spdx-expression | A valid SPDX license expression. This will be used in place of what GitHub claims your repository's `spdxIdentifier` is. | no | "" |
| error-on-conflict | Whether to error if a release for the same version has already been uploaded. | no | false |
| include-output-paths | Whether to register the output paths of each flake output with FlakeHub. | no | false |
| my-flake-is-too-big | Please read the source code of flakehub-push before using this. | no | false |
| source-binary | Run a version of the `flakehub-push` binary from somewhere already on disk. Conflicts with all `source-*` options. | no | — |
| source-branch | The branch of `flakehub-push` to use. Conflicts with all other `source-*` options. | no | main |
| source-pr | The pull request (PR) of `flakehub-push` to use. Conflicts with all other `source-*` options. | no | — |
| source-revision | The revision of `flakehub-push` to use. Conflicts with all other `source-*` options. | no | — |
| source-tag | The tag of `flakehub-push` to use. Conflicts with all other `source-*` options. | no | — |
| source-url | A URL pointing to a `flakehub-push` binary. Overrides all other `source-*` options. | no | — |
| _internal-strict-mode | Whether to fail when any errors are thrown. Used only to test the Action; do not set this in your own workflows. | — | false |
| flakehub-push-binary | Run a version of the `flakehub-push` binary from somewhere already on disk. Conflicts with all `flakehub-push-*` options. | no | — |
| flakehub-push-branch | The branch of `flakehub-push` to use. Conflicts with all other `flakehub-push-*` options. | no | — |
| flakehub-push-pr | The pull request (PR) of `flakehub-push` to use. Conflicts with all `flakehub-push-*` options. | no | — |
| flakehub-push-revision | The revision of `flakehub-push` to use. Conflicts with all other `flakehub-push-*` options. | no | — |
| flakehub-push-tag | The tag of `flakehub-push` to use. Conflicts with all other `flakehub-push-*` options. | no | — |
| flakehub-push-url | A URL pointing to a `flakehub-push` binary. Overrides all other `flakehub-push-*` options. | no | — |
Outputs
no outputs