<{^_^}>
nix#3238 (by puckipedia, 3 hours ago, open): Ensure enough space in attrset bindings
<tilpner>
gchristensen: Are you restarting/deploying anything?
<gchristensen>
I'm not
<tilpner>
Could it apply to different update-nix-*.service?
<tilpner>
That's a suspicious interval
<gchristensen>
hmmm perhaps
FRidh has quit [Quit: Konversation terminated!]
drakonis1 has quit [Quit: WeeChat 2.6]
<Profpatsch>
gchristensen: It doesn’t feel to me like the nix 2 commands are stable, they have so many rough edges that it would probably hinder us a *lot* in the future if we declare them as stable now.
<Profpatsch>
Stuff like “you need to wrap in () if you want to enter an expression” is just not good UX
<gchristensen>
yeah we don't have to mark them as stable
<gchristensen>
we shouldn't make them disappear, though
<gchristensen>
that genie is out of the bottle for better or worse
<Profpatsch>
Or “don’t forget the last argument (an empty string) if you want it to work”
<Profpatsch>
Ah, yeah, removing them is also a bad idea.
drakonis has joined #nixos-dev
justanotheruser has joined #nixos-dev
drakonis has quit [Remote host closed the connection]
drakonis has joined #nixos-dev
justanotheruser has quit [Quit: WeeChat 2.6]
drakonis has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 246 seconds]
ris has joined #nixos-dev
johnny101 has quit [Quit: Konversation terminated!]
<niksnut>
gchristensen: we're not making anything disappear, we just mark 'nix' as experimental
orivej has joined #nixos-dev
<thoughtpolice>
IMO it codifies something that was basically true anyway, since `nix` isn't a suitable replacement for several things yet. I like using it but was under the impression it would change to fit more use cases, so I "expected" things to maybe change, possibly in an incompatible manner.
<thoughtpolice>
But it's kind of pointless, because on the other hand, what does marking it experimental mean to me anyway? I'm just going to enable it and keep using it as if nothing changed. All I've really done is just add one more like to configuration.nix. Cat's out of the bag, I'm afraid.
psyanticy has quit [Quit: Connection closed for inactivity]
<thoughtpolice>
I imagine the end-game effects will have been the same if it was feature-gated or not: you just bite the bullet and break some stuff and write it up in the release notes. I suppose it's a matter of setting expectations but that's a tricky thing.
<thoughtpolice>
For instance, does "experimental" mean it isn't supported, so bug reports have some other weighting to them? I'd hope if it's experimental *more* feedback would be welcome to get it right! Or does it just mean I can expect things to not work right? Or not to write scripts around it?
<samueldr>
nix.hereBeDragons # Dragons availability may be limited
<LnL>
:p
<samueldr>
though some sub-commands may need to be available in a trivial way even without opting-in, namely `repl`
<samueldr>
I think it's pretty much the only command from nix 2.0 that I'm using
<thoughtpolice>
`why-depends` so good
<LnL>
copy is the other one that apparently is depended on already
<LnL>
and I guess the main problem is that this one uses the new installable arguments
<thoughtpolice>
I also dislike some of copy's UX because I'm not sure doing things like baking upload parameters into a query string attached to the URL is super great.
<thoughtpolice>
I think it would be much nicer for several reasons to have an `--option` flag or something like it, that only takes effect when certain sources/sinks are attached. (For instance, it would enable autocompletion for those options on NixOS)
<thoughtpolice>
But I haven't fully thought it out yet. All I know is I had to dig in the code to figure out how to replicate the proper flags to mimic S3 uploads (e.g. "yes I want manifests, and compress them") because they aren't part of the real argument handling flow.
<niksnut>
thoughtpolice: "experimental" here means "can change in the future"
<thoughtpolice>
Yes, but all software can, and does, continue to change in the future! :P
<thoughtpolice>
The good news is: maybe we can figure out what that means. The bad news is that this condition appears to be terminal, and there's nothing we can do about it.
<niksnut>
well no, the old commands are not supposed to change in incompatible ways
<thoughtpolice>
That's what I mean! You have to set an expectation for what you can do. But on the other hand I *did* have that command available for a while and now it's behind a flag. Is that not breaking an expectation?
<thoughtpolice>
Like I said, I think it does codify something important, but I also think for instance it's pointless for me because I'll just enable it. That's really *user* feedback, not developer feedback! As a developer I absolutely get it. So it's kind of a moot thing.
<thoughtpolice>
In the long run I do not expect it to matter much, but I do think the cat's out of the bag. It's a minor nit more than anything. `experimental` will probably be useful in the future, too, so that's nice.
<thoughtpolice>
And actually I like samueldr's suggestion of some commands being gated and others available by default. `why-depends`, `verify`, etc are all rather nice and fairly well self-contained. That's at least the right way to go in the long run.
<niksnut>
well, 'nix --help' always said it's experimental and subject to change
<niksnut>
so now that we have an experimental-features option it makes sense to use it for this as well
justanotheruser has joined #nixos-dev
orivej has quit [Ping timeout: 240 seconds]
lopsided98 has quit [Remote host closed the connection]