Colmena | 302 Members | |
| A simple, stateless NixOS deployment tool - https://github.com/zhaofengli/colmena | 103 Servers |
| Sender | Message | Time |
|---|---|---|
| 3 Feb 2022 | ||
In reply to @zhaofeng:zhaofeng.li thank you, that works! By the way, what is | 18:42:23 | |
In reply to @pacien:pacien.netIt should be the platform that you are deploying to, not the one running Colmena itself. | 18:44:26 | |
ok! I'm setting this with nodeNixpkgs explicitly for each node. Would it be possible to make nixpkgs not mandatory in this case? | 18:47:11 | |
In reply to @pacien:pacien.netSadly not, because we still rely on some helper functions from lib of the top-level pinned nixpkgs. We could use the ones from an arbitrary nodeNixpkgs but it doesn't seem ideal. | 18:51:19 | |
In reply to @winterqt:nixos.dev* Currently, there is an eval.nix that takes a normal hive.nix or a flake URI, evaluated in a normal impure context. If a flake URI is passed, then it's fetched using And this setup (importing a file outside of a flake context) sadly doesn't work in pure evaluation. | 18:53:26 | |
In reply to @winterqt:nixos.devMissed this one. Removing this line will not make the evaluation pure (it does nothing). It's only there for informational purposes, and both modes of evaluation ( nix-instantiate and nix-eval-jobs) are initiated from "normal Nix" in an impure context. | 22:22:13 | |
In reply to @zhaofeng:zhaofeng.ligot it -- what information is it meant to convey? | 23:22:00 | |
In reply to @winterqt:nixos.devthat it is actually impure and not the --flake mode in nix-eval-jobs, though in this case it has apparently led to more confusion | 23:31:49 | |
| wait but what is it even evaling if the two modes of eval are impure? yeah i'm admittedly confused | 23:32:56 | |
In reply to @winterqt:nixos.devRephrase your question? | 23:35:35 | |
| What is the nix-eval-jobs invocation evaling? like, you said the two eval modes are doing it purely, so i guess i'm just confused | 23:36:48 | |
In reply to @zhaofeng:zhaofeng.liguess i'm just confused by this | 23:37:16 | |
| Colmena can use nix-instantiate or nix-eval-jobs (experimental), and the code you referred to was the nix-eval-jobs flow | 23:38:13 | |
| Right, I understand that. | 23:42:48 | |
So looking at the nix-eval-jobs source, you're right in that the the value of evalSettings.pureEval isn't used at all... why does the flag exist then? | 23:46:00 | |
In reply to @winterqt:nixos.devnix-eval-jobs can do pure eval with --flake (which we are not using), and --impure is needed if you use a --flake with impurity | 23:49:06 | |
| evalSettings is a global variable used by Nix | 23:49:28 | |
In reply to @zhaofeng:zhaofeng.lididn't even notice this linked to nix, whoops | 23:52:45 | |
In reply to @zhaofeng:zhaofeng.liso it is impure? | 23:52:57 | |
| wait, yes, i guess so | 23:53:24 | |
| i misread your original answer | 23:55:02 | |
| apologies | 23:55:04 | |
| so why is impurity needed when using flakes? | 23:55:42 | |
In reply to @winterqt:nixos.devYes, and we could make it work with pure-eval if we change our setup. The major obstable is that we have a separate eval.nix file that contains our logic, and that file is the entrypoint of the evaluation. | 23:56:25 | |
| 4 Feb 2022 | ||
| ah, i see now. | 00:01:28 | |
... and to expand on that, you can play around with the machinery like nix-instantiate --eval --pure-eval anything.nix and also --restrict-eval which is more relaxed and allows for things in the NIX_PATH to be accessed, but it seems that the pure-eval is never intended to be used like this outside of the new Flake-based nix CLI | 00:06:16 | |
| got it | 00:16:20 | |
| Zhaofeng Li: why do you exit with 0 when the file doesn't exist in https://github.com/zhaofengli/colmena/pull/51/files#diff-c5cb072f3843e65103369a68e92494e5ab2915080d0930c0c4fd6b7cb2620a96R502? | 00:16:51 | |
| doesn't this defeat the point of the services | 00:16:58 | |
In reply to @winterqt:nixos.devThe service is supposed to die when it doesn't exist. The activation of the service is triggered by the path unit. | 00:19:00 | |