-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Abstract Nix Config Iface #24
Comments
Looks like github only accepts strings as action input, so if you wanna do this we would have to pass the json raw and parse it in the action. As far as the implementation, I think the environment via The "nix.conf" format is simple enough that it might not be too difficult to teach Nix to just read its config from straight JSON as well. I think both of the linked issues are simple enough that I may be able to resolve them myself, as I've gotten a little more familiar with the Nix codebase recently. |
I have been tought, secrets should be on disk and not in the environment, as this is more secure.
Just wanted to clarify if we're having had different schools on this questions. If nix was to ingest json directly, for the value proposition of this issue, we'd have a little less work to do, indeed. We'd still likely have to adjust the json for the new and old commands as not all flags seem portable between the two. |
Well if the CI runner is compromised, attackers can likely get the secrets either way. I guess it just depends on what you are optimizing for (threat model). |
Problem Statement
As a CI action, it provides nix in the context of CI.
However nix (currently) is notoriously quirky to configure.
For example:
self.nixConfig
accept-flake-config
!?)NiX_CONFIG
and~/.config/nix.conf
and also/etc/nix/nix.conf
In CI, though, we actually only care that my intended (pretty much single) configuration is observed in all (edge) cases.
Often times, in fact, we may find ourselves debugging nix config during CI development.
Potential Solution
As a provider of a CI nix, this action could implement a config interface
inputs.config
that transforms / merges / (and even special cases) the config so that the user intent is preserved.I haven't checked if this is legal, but if so, it would be nice:
Or alteratively
The text was updated successfully, but these errors were encountered: