| 28 Sep 2021 |
@gytis-ivaskevicius:matrix.org | but thats basically redesigning good chunk of existing flakes logic | 15:31:30 |
@timdeh:matrix.org | yeah, I dunno, having inputs in the flake.nix and the lock file is starting to get a little smelly for me, but maybe it's just the verbosity of the current implementation 😅 | 15:33:20 |
@timdeh:matrix.org | I'd say go ahead with a POC and maybe a PR and we'll see how it goes | 15:35:17 |
@gytis-ivaskevicius:matrix.org | Not sure what exactly was proposed in that unofficial roadmap but just now I played around with toml format and this is what I managed to define:
[github.NixOS.nixpkgs.release-21.05]
lastModified = 1632660378
narHash = 'sha256-sjA8eQlnyDjDLyAyq3XlJmN0nqW0ftl/pb7VnMg86L0='
owner = 'nixos'
repo = 'nixpkgs'
rev = '31ffc50c571e6683e9ecc9dbcbd4a8e9914b4497'
| 15:39:31 |
@gytis-ivaskevicius:matrix.org | Not perfect, also I am not sure how I feel about file being editable AND automagically modifiable | 15:40:19 |
@gytis-ivaskevicius:matrix.org | welp, and ofc once we have this we can perform whatever mapping logic using Nix | 15:41:09 |
@gytis-ivaskevicius:matrix.org | *lastModified should probably be in human readable format | 15:44:03 |
@gytis-ivaskevicius:matrix.org | hold on,im dumb. Forgot to remove 'owner' and 'repo' 😀 | 16:07:01 |
@gytis-ivaskevicius:matrix.org | * Not sure what exactly was proposed in that unofficial roadmap but just now I played around with toml format and this is what I managed to define:
[github.NixOS.nixpkgs.release-21.05]
lastModified = 1632660378
narHash = 'sha256-sjA8eQlnyDjDLyAyq3XlJmN0nqW0ftl/pb7VnMg86L0='
rev = '31ffc50c571e6683e9ecc9dbcbd4a8e9914b4497'
| 16:07:13 |
@gytis-ivaskevicius:matrix.org | * Not sure what exactly was proposed in that unofficial roadmap but just now I played around with toml format and this is what I managed to define:
[github.NixOS.nixpkgs.release-21.05]
lastModified = 1979-05-27T07:32:00-08:00
narHash = 'sha256-sjA8eQlnyDjDLyAyq3XlJmN0nqW0ftl/pb7VnMg86L0='
rev = '31ffc50c571e6683e9ecc9dbcbd4a8e9914b4497'
| 16:08:37 |
@gytis-ivaskevicius:matrix.org | Ah, there is another issue with this toml | 16:10:24 |
@gytis-ivaskevicius:matrix.org | there is no way to define custom arguments like dir | 16:10:38 |
@yusdacra:nixos.dev | In reply to @gytis-ivaskevicius:matrix.org Not perfect, also I am not sure how I feel about file being editable AND automagically modifiable Isn't the point of a lockfile to not be modified? | 16:24:16 |
@yusdacra:nixos.dev | In reply to @gytis-ivaskevicius:matrix.org Not perfect, also I am not sure how I feel about file being editable AND automagically modifiable * Isn't the point of a lockfile to not be modified manually? | 16:24:52 |
@gytis-ivaskevicius:matrix.org | what we are thinking of is not just a lockfile | 16:25:04 |
@gytis-ivaskevicius:matrix.org | a file that would act as a lockfile AND inputs definition | 16:25:16 |
@gytis-ivaskevicius:matrix.org | so you could avoid defining inputs in flake.nix | 16:25:27 |
@gytis-ivaskevicius:matrix.org | and the whole avoidance of defining inputs in flake.nix is due to its limitations | 16:26:00 |
@yusdacra:nixos.dev | Ah so basically to avoid redefining inputs in both places | 16:29:06 |
@yusdacra:nixos.dev | That sounds like it'd be interesting | 16:29:39 |
@yusdacra:nixos.dev | How would you "lock" an input to a certain revision in the example TOML? With flake.nix you can specify the revision in flake.nix and it will be locked, but if you change the rev field here doing a nix flake update would still update it right? | 16:31:43 |
@yusdacra:nixos.dev | * How would you lock an input to a certain revision in the example TOML? With flake.nix you can specify the revision in flake.nix and it will be locked, but if you change the rev field here doing a nix flake update would still update it right? | 16:31:51 |
@timdeh:matrix.org | I was imagining that the inputs in flake.nix are kinda redundant and that cli args could just as easily and remove and modify the lock file directly. So instead of inputs.someflake.url = "github:yada/yada" in the flake.nix you could do something like `nix flake add someflake github:yara/yada" | 17:59:41 |
@timdeh:matrix.org | * I was imagining that the inputs in flake.nix are kinda redundant and that cli args could just as easily add, remove and modify the lock file directly. So instead of inputs.someflake.url = "github:yada/yada" in the flake.nix you could do something like `nix flake add someflake github:yara/yada" | 17:59:56 |
@timdeh:matrix.org | * I was imagining that the inputs in flake.nix are kinda redundant and that cli args could just as easily add, remove and modify the lock file directly. So instead of inputs.someflake.url = "github:yada/yada" in the flake.nix you could do something like nix flake add someflake github:yara/yada" | 18:00:05 |
@yusdacra:nixos.dev | hmm i see | 18:10:49 |
@yusdacra:nixos.dev | That sounds nice TBH | 18:11:32 |
@gytis-ivaskevicius:matrix.org | In reply to @timdeh:matrix.org I was imagining that the inputs in flake.nix are kinda redundant and that cli args could just as easily add, remove and modify the lock file directly. So instead of inputs.someflake.url = "github:yada/yada" in the flake.nix you could do something like nix flake add someflake github:yara/yada" I'd rather have inputs explicitly defined in some file instead of such lock file editing | 18:43:07 |
@gytis-ivaskevicius:matrix.org | but that might be just me | 18:43:12 |
@timdeh:matrix.org | for what purpose though? If you could have a command list them out nicely, you can view the lockfile manually, and you can even explore the inputs in a repl. What does the explicit listing give us? | 18:44:12 |