!rWxyQqNqMUDLECdsIf:blad.is

Poetry2nix

303 Members
https://github.com/nix-community/poetry2nix54 Servers

Load older messages


SenderMessageTime
6 Nov 2023
@matthewcroughan:defenestrate.itmatthewcroughan * then src is an outPath with the Cargo.lock in it 21:06:43
@matthewcroughan:defenestrate.itmatthewcroughanOh, I didn't realise nixpkgs banned that 21:06:48
@k900:0upti.meK900And if you're doing that, you might as well do IFD21:06:50
@matthewcroughan:defenestrate.itmatthewcroughanI don't understand why, or why that's bad, compared to IFD 21:07:02
@k900:0upti.meK900The whole point of not doing IFD or anything IFD-adjacent is to make it so you can evaluate nixpkgs offline21:07:04
@matthewcroughan:defenestrate.itmatthewcroughanOh, I can actually do that?21:07:21
@k900:0upti.meK900Yes?21:07:26
@k900:0upti.meK900How do you think all the VM tests work21:07:32
@k900:0upti.meK900And the manual build21:07:35
@k900:0upti.meK900And the everything else21:07:37
@matthewcroughan:defenestrate.itmatthewcroughanI can go offline, and instantiated all the drv files, without the internet, but with IFD I have to use the internet to instantiate the drvs?21:07:42
@matthewcroughan:defenestrate.itmatthewcroughan * I can go offline, and instantiate all the drv files, without the internet, but with IFD I have to use the internet to instantiate the drvs?21:07:46
@k900:0upti.meK900Yes21:07:53
@matthewcroughan:defenestrate.itmatthewcroughanDoes builtins.fetchTarball change that? I didn't know.21:08:35
@matthewcroughan:defenestrate.itmatthewcroughanIs that explained anywhere, somewhere I haven't read? I didn't know what the motivating factor for banning IFD was, just that it was supposed to be bad.21:09:45
@k900:0upti.meK900How would it fetch21:10:19
@k900:0upti.meK900If there is no internet21:10:21
@matthewcroughan:defenestrate.itmatthewcroughandrv files are instructions of how to do something, then when you realise them, then it would go to the internet, I thought 21:10:53
@matthewcroughan:defenestrate.itmatthewcroughanah, but the outPath is FOD and content addressed, so calculating that outPath relies on realisation 21:11:17
@k900:0upti.meK900 builtins.fetchTarball does not produce a drv 21:11:18
@k900:0upti.meK900It runs at eval time21:11:21
@k900:0upti.meK900And then you need to get the contents of it to continue evaluation21:11:35
@k900:0upti.meK900Which is basically IFD21:11:46
@k900:0upti.meK900 (except it's not technically FD) 21:11:52
@matthewcroughan:defenestrate.itmatthewcroughanyeah, so anything that requires the internet to fill the key/values in a drv21:12:01
@k900:0upti.meK900And I see the problem with overrides now21:12:44
@k900:0upti.meK900I think21:12:54
@adis:blad.isadisbladis
In reply to @zeratax:dmnd.sh

this works:

#pyproject.toml
[tool.poetry.scripts]
deploy_cluster_aws = "deploy_cluster_aws:main"

while this doesn't

#pyproject.toml
[tool.poetry.scripts]
deploy_cluster_aws = { reference = "deploy_cluster_aws", extras = ["aws"], type="console" }

but should be valid, no?
https://python-poetry.org/docs/pyproject/#scripts

$ nix develop
warning: Git tree '/home/jonaa/git/deployment' is dirty
error: value is a set while a string was expected

       at /nix/store/knlmp0ljafmp1k4fkf61jdhia6l9kw1q-source/shell-scripts.nix:8:31:

            7|     let
            8|       elem = builtins.elemAt (builtins.split ":" entrypoint);
             |                               ^
            9|       module = elem 0;
(use '--show-trace' to show detailed location information)

I think this would make it work:

diff --git a/shell-scripts.nix b/shell-scripts.nix
index 23362a2..d45117d 100644
--- a/shell-scripts.nix
+++ b/shell-scripts.nix
@@ -4,8 +4,10 @@
 }:
 let
   mkScript = bin: entrypoint:
-    let
-      elem = builtins.elemAt (builtins.split ":" entrypoint);
+  let
+      elem = builtins.elemAt (builtins.split ":" (
+        if builtins.typeOf entrypoint == "set" then entrypoint.reference else entrypoint
+      ));
       module = elem 0;
       fn = elem 2;
     in
21:34:22
@adis:blad.isadisbladis
In reply to @zeratax:dmnd.sh

this works:

#pyproject.toml
[tool.poetry.scripts]
deploy_cluster_aws = "deploy_cluster_aws:main"

while this doesn't

#pyproject.toml
[tool.poetry.scripts]
deploy_cluster_aws = { reference = "deploy_cluster_aws", extras = ["aws"], type="console" }

but should be valid, no?
https://python-poetry.org/docs/pyproject/#scripts

$ nix develop
warning: Git tree '/home/jonaa/git/deployment' is dirty
error: value is a set while a string was expected

       at /nix/store/knlmp0ljafmp1k4fkf61jdhia6l9kw1q-source/shell-scripts.nix:8:31:

            7|     let
            8|       elem = builtins.elemAt (builtins.split ":" entrypoint);
             |                               ^
            9|       module = elem 0;
(use '--show-trace' to show detailed location information)
*

I think this would make it work:

diff --git a/shell-scripts.nix b/shell-scripts.nix
index 23362a2..d45117d 100644
--- a/shell-scripts.nix
+++ b/shell-scripts.nix
@@ -4,8 +4,10 @@
 }:
 let
   mkScript = bin: entrypoint:
-    let
-      elem = builtins.elemAt (builtins.split ":" entrypoint);
+  let
+      elem = builtins.elemAt (builtins.split ":" (
+        if builtins.typeOf entrypoint == "set" then entrypoint.reference else entrypoint
+      ));
       module = elem 0;
       fn = elem 2;
     in
21:34:33
7 Nov 2023
@havk64:matrix.orgAlexandro de Oliveira joined the room.02:07:25

Show newer messages


Back to Room ListRoom Version: 6