| 20 Oct 2021 |
David Arnold (blaggacao) | (even on subflakes, which are not outside of the store path as you correctly realized) | 04:19:13 |
David Arnold (blaggacao) | * (even on subflakes, where nothing is outside of the store path as you correctly realized) | 04:19:34 |
David Arnold (blaggacao) | (wait, you say fup repo) | 04:20:58 |
mars | mhm
supposedly it's been fixed now, though | 04:22:27 |
David Arnold (blaggacao) | mars I think the level of alignment between module systems that you are aming for is not really feasible. Think of each module system of jsonschema of some sort of configuration endpoint that you'd like to reach (a data structure). | 04:22:45 |
mars | pretty sure it's a Nix bug. 1 sec | 04:23:09 |
David Arnold (blaggacao) | The follows fix introduced, iirc. | 04:23:34 |
mars | it's supposed to be supported, as of a couple weeks ago: https://github.com/NixOS/nix/issues/3978 | 04:24:43 |
David Arnold (blaggacao) | https://github.com/NixOS/nix/pull/4641 | 04:24:44 |
mars | yeah | 04:24:54 |
David Arnold (blaggacao) | In reply to @mars:jupiterbroadcasting.com it's supposed to be supported, as of a couple weeks ago: https://github.com/NixOS/nix/issues/3978 Interesting! | 04:26:24 |
mars | In reply to @blaggacao:matrix.org mars I think the level of alignment between module systems that you are aming for is not really feasible. Think of each module system of jsonschema of some sort of configuration endpoint that you'd like to reach (a data structure). yeah
some modules in Nix-Darwin, though, are just copied and pasted from NixOS, at least initially
that's the kind of case I had in mind | 04:26:52 |
David Arnold (blaggacao) | The endpoint in nix is always systemd, and in darwin would never be? BUT Michael Raskin has worked on iirc RFC72 to explore solutions. | 04:27:54 |
mars | but yeah really the way to have cross-platform modules would be with a single, cross-platform module system, which is a bigger and different kind of effort | 04:27:57 |
David Arnold (blaggacao) | The gist would be to separate:
- Config database
- Systemd Generation
| 04:28:33 |
David Arnold (blaggacao) | * The gist would be to separate:
- Config database
- Systemd Service Generation | 04:28:45 |
David Arnold (blaggacao) | * The 80% gist would be to separate:
- Config database
- Systemd Service Generation | 04:29:19 |
David Arnold (blaggacao) | * The 80% gist would be to separate:
- Config database
- Systemd Service Rendering | 04:29:39 |
mars | mhm
but in the meantime it makes sense for devos and digga to support exporting modules for a variety of NixOS-like module systems | 04:30:04 |
David Arnold (blaggacao) | RFC78 | 04:31:10 |
mars | this one
https://github.com/NixOS/rfcs/pull/78 | 04:33:05 |
mars | there are so many different merge operations in the Nix ecosystem
there's module merging, various override mechanisms, overlays
Nickel is apparently going to build one into its language but the details aren't fully settled
given that it will mean at least one more kind of merge to learn, what's the goal of your new merge DSL? | 04:36:10 |
mars | I also wonder if really different semantics are needed to solve the config attribute provenance issue
the Tweag guys working on Nickle seem to think not, I think they've said they can get that kind of tracing working for NixOS-like module merging | 04:38:29 |
mars | * I also wonder if different semantics really are needed to solve the config attribute provenance issue
the Tweag guys working on Nickle seem to think not, I think they've said they can get that kind of tracing working for NixOS-like module merging | 04:38:45 |
mars | * I also wonder if different semantics really are needed to solve the config attribute provenance issue
the Tweag guys working on Nickel seem to think not, I think they've said they can get that kind of tracing working for NixOS-like module merging | 04:38:57 |
David Arnold (blaggacao) | Main goal is monotonicity of the merge operation. Combined with hypothetical builtins.jsonSchemaValidate, we have all we need to manage base/dev/staging/prod envs. | 04:43:18 |
David Arnold (blaggacao) | * Main goal is monotonicity (-> mental simplicity) of the merge operation. Combined with hypothetical `builtins.jsonSchemaValidate`, we have all we need to manage `base`/`dev`/`staging`/`prod` envs. | 04:43:38 |
David Arnold (blaggacao) | * Main goal is monotonicity (-> mental simplicity) of the merge operation. Combined with hypothetical `builtins.jsonSchemaValidate` for pre-flight checks, we have all we need to manage `base`/`dev`/`staging`/`prod` envs. | 04:43:59 |
| @vherrmann:shmerver.de changed their display name from Tosixon to Tisoxin. | 18:05:20 |
| 21 Oct 2021 |
@aynish:sealight.xyz | hey I'm trying to get agenix to work in a user profile but I'm not sure how to pass self in the arguments to the profile. I'm imprting it from my host file with imports. What am I missing? This is the error from nixos-rebuild `error: attribute 'self' missing
at /nix/store/0r0xrqj5l88071cama7hlha5ajya06c8-source/lib/modules.nix:305:28:
304| builtins.addErrorContext (context name)
305| (args.${name} or config._module.args.${name})
| ^
306| ) (lib.functionArgs f);
(use '--show-trace' to show detailed location information)` | 12:30:33 |