!SgYlXivkogarTVcnZO:nixos.org

Nix Flakes

856 Members
174 Servers

Load older messages


SenderMessageTime
21 Mar 2025
@rosssmyth:matrix.org@rosssmyth:matrix.org You can do eta expansion outputs = inputs: import ./function.nix inputs; 14:11:38
@rosssmyth:matrix.org@rosssmyth:matrix.orgWhich tbh shows how silly the restriction is 14:14:20
@joepie91:pixie.town@joepie91:pixie.townwait. what?16:46:55
@elikoga:matrix.orgelikogaIt's a Nix file with a specific format, where normal Nix files are just files that contain a nix value, Nix Flakes also have syntactic restrictions on the inputs&outputs level.16:48:24
@elikoga:matrix.orgelikoga* It's a Nix file with a specific format, where normal Nix files are just files that contain a nix value, flake.nix also has syntactic restrictions on the inputs&outputs level.16:48:36
@joepie91:pixie.town@joepie91:pixie.townthen why does it end in .nix if it is not a freeform Nix file?!16:49:15
@elikoga:matrix.orgelikoga?16:49:28
@joepie91:pixie.town@joepie91:pixie.townlike, I'm sure those syntactic restrictions have a purpose, but it seems very expectation-breaking for a .nix file to suddenly expect essentially a different format because it happens to be a flake.nix16:49:54
@elikoga:matrix.orgelikoga?16:50:09
@joepie91:pixie.town@joepie91:pixie.townI'm not sure what is unclear?16:50:25
@elikoga:matrix.orgelikogaWhat you are proposing as an alternative16:51:13
@elikoga:matrix.orgelikoga.i-hate-this-feature just doesn't roll of the toungue that well16:51:45
@joepie91:pixie.town@joepie91:pixie.townI am not proposing one; I am complaining that the current choice (of making it look like it's "just a Nix file" was the wrong one. I do not have any specific opinions about what alternative name or extension or whatever should be used, as long as it does not have that problem16:52:11
@elikoga:matrix.orgelikogaAnd since it's a strict subset, I don't see a problem16:52:19
@joepie91:pixie.town@joepie91:pixie.town* I am not proposing one; I am complaining that the current choice (of making it look like it's "just a Nix file") was the wrong one. I do not have any specific opinions about what alternative name or extension or whatever should be used, as long as it does not have that problem16:52:19
@joepie91:pixie.town@joepie91:pixie.townbecause this introduces an additional footgun and we already have more than enough of thosed16:52:29
@elikoga:matrix.orgelikogaI expect .nix files to contain nix. A condition that is fulfilled with flake.nix files16:52:34
@joepie91:pixie.town@joepie91:pixie.town* because this introduces an additional footgun and we already have more than enough of those16:52:34
@elikoga:matrix.orgelikogaI don't expect arbitrary files to contain arbitrary values it's not like you have this compaint about NixOS Modules16:53:01
@joepie91:pixie.town@joepie91:pixie.townit means that you cannot expect either a) your usual code organization techniques or b) your existing code snippets to work as-is in a flake.nix because there is a subset of valid Nix that is invalid in a flake.nix16:53:22
@elikoga:matrix.orgelikoga?16:53:50
@elikoga:matrix.orgelikogaThere is an obivous freeform value place where you can write all the nix you want16:54:23
@elikoga:matrix.orgelikoga* There is an obvious freeform value place where you can write all the nix you want16:54:30
@joepie91:pixie.town@joepie91:pixie.townthis is not relevant to my complaint16:54:50
@joepie91:pixie.town@joepie91:pixie.town"things should be the thing that they look like" is a pretty elementary principle of designing usable software and this violates that principle16:55:16
@joepie91:pixie.town@joepie91:pixie.town it looks like a freeform .nix file but apparently isn't one, in that there are additional syntactic restrictions (ie. beyond the semantic restrictions that might be imposed by some other code that the result of a .nix file may be fed into, and which are within expectations) 16:56:03
@joepie91:pixie.town@joepie91:pixie.town I'm sure there are a hundred ways to work around this but the point is that you shouldn't need to, it should either a) work the same as everywhere else, or b) if that is not possible, make it obvious that it doesn't in some way 16:56:45
@joepie91:pixie.town@joepie91:pixie.town(and the canonical way to denote different formats in most computer systems is... to use a different extension or variant of the standard extension)16:58:47
@elikoga:matrix.orgelikoga

I believe that the opposite design decision has worse developer UX due to more footguns in unrestricted nix that may manifest during inputs outputs resolution

Additionally, all .nix files are still fully syntactically valid nix files, which is the pre-condition that most tools expect. It's just the fact that some flake.nix files are not accepted by nix flake tooling, even though they are syntactically valid nix. This is normal and expected. I do not expect a file containing 5 to be a valid flake.nix.

Now can you tell me again in plain words what you are complaining about "things should be the thing that they look like" is either fulfilled or much too vague

17:04:47
@elikoga:matrix.orgelikoga *

I believe that the opposite design decision has worse developer UX due to more footguns in unrestricted nix that may manifest during inputs outputs resolution

Additionally, all .nix files are still fully syntactically valid nix files, which is the pre-condition that most tools expect. It's just the fact that some flake.nix files are not accepted by nix flake tooling, even though they are syntactically valid nix. This is normal and expected. I do not expect a file containing 5 to be a valid flake.nix.

Now can you tell me again in plain words what you are complaining about.
"things should be the thing that they look like" is either fulfilled or much too vague

17:05:00

Show newer messages


Back to Room ListRoom Version: 6