Sender | Message | Time |
---|---|---|
27 May 2024 | ||
Adding color is point-less, but for example, one could import a home-manager configuration this way. | 17:19:35 | |
* Another one, which I bet nobody noticed, is that you can add submodules at the definition site:
| 17:21:05 | |
| 17:22:12 | |
I will note that the former is better than
as the later will lose the file attribute associated with | 17:31:59 | |
28 May 2024 | ||
This is a pretty basic example of what I'd like to be able to do, where the import could also be another profile instead of a
| 12:11:12 | |
In reply to @infinidoge:inx.moe This is similar to something else I was considering separately, but I was also trying to make each profile fully standalone, so I could safely import and enable them without conflicts. Can a I want to do something like this programmatically, where all my profiles get collected and wrapped inside a | 12:25:21 | |
| 12:30:20 | |
*
No, because | 12:30:28 | |
You can create an option, which value is used as part of:
| 12:32:21 | |
In reply to @nbp:mozilla.org Not sure I follow. Is I'm also using https://github.com/divnix/std and I'd like to reference other profiles using | 12:34:18 | |
In reply to @nbp:mozilla.orgThat's what I thought | 12:34:43 | |
In reply to @nbp:mozilla.org I don't think this structure will work for how I'm trying to set my profiles up. I might be able to create | 12:38:48 | |
If you can just import them all, and use mkIf as described above. | 12:40:43 | |
I doubt the above would not work, unless you have circular dependencies, as the code above is how NixOS is written, and it work, AFAIK. | 12:41:31 | |
* I doubt the above would not work, unless you have circular dependencies, as the code above is how NixOS is written, and it works, AFAIK. | 12:41:37 | |
My config eval errors for me if I enable two profiles that both import the same nixosModule , and if imports can't be gated by mkIf , I think I'm stuck with that problem. | 12:45:32 | |
If they error while importing the same nixosModule , this is because the module system is unable to find a unique identifier to use as a key to deduplicate the 2 imports. | 12:48:27 | |
This happens with flakes which are just providing unnamed modules. | 12:48:50 | |
Using the key attribute next to config would help resolve that, or by moving the module to a file, and not importing it in the flake. | 12:49:37 | |
hmmm, is there a way to manually give it a key? I have no idea how this part works? | 12:49:43 | |
* hmmm, is there a way to manually give it a key? I have no idea how this part works | 12:49:50 | |
| 12:50:38 | |
If I collected all nixosModules from my inputs and set a key=<inputName>-<moduleName> attr, would this allow multiple imports of the same nixosModule ? | 12:51:11 | |
Is key an attr of modules that gets handled by lib.evalModules ? Like I could specify a key attr inside a module definition, then import the same module in two places without error? | 12:52:12 | |
I would say that an upstream issue, others would have the same problem as you, so you might as well fix it upstream. | 12:52:21 | |
Is there any documentation on this behavior? | 12:52:23 | |
key has been there since the beginning of the module system. | 12:53:21 | |
What other attrs are used by lib.evalModules ? I've seen imports , disabledImports , config , and options , but I didn't know there were others. Is there a place I can read about this behavior or do I just need to do a deep dive on the source of lib.evalModules ? | 12:54:49 | |
In reply to @nbp:mozilla.org Definitely something I'd expect others to have problems with, so I'd be down to contribute to a fix. How would I go about debugging | 12:57:06 | |
When I said upstream, I meant the flake you use as input. | 15:52:59 |