NixOS Module System | 170 Members | |
| 36 Servers |
| Sender | Message | Time |
|---|---|---|
| 27 Feb 2026 | ||
| how to reference the attribute name in inside the attrvalues? do we have a facility for that? 🤔 | 22:41:56 | |
| * how to reference the attribute name inside the attrvalue? do we have a facility for that? 🤔 | 22:42:06 | |
| Submodule can be a function. If you destructure 'name' the module system will provide it. | 22:53:18 | |
| If I am understanding the question correct | 22:53:36 | |
| submodule ({ name, ... }: ... } | 22:54:00 | |
| Or did you mean another attributeName? | 22:55:00 | |
| * submodule ({ name, ... }: ... your options }) | 22:57:09 | |
| in fact name is always available in submodules, but it needs to be explicitly destructured in functionargs of a module. If not destructured it's not passed. So a module like moduleArgs: { .... } won't have it | 22:59:46 | |
| nah, the servers.${name} = { // name in here | 23:10:04 | |
| ok, thx! | 23:10:14 | |
| 1 Mar 2026 | ||
| 01:16:46 | ||
| 8 Feb 2024 | ||
| 10:38:02 | ||
| 15 Feb 2024 | ||
| 19:15:14 | ||
| 16 Feb 2024 | ||
| 14:56:15 | ||
| 14:59:24 | ||
| I recently stumbled upon similar issue when working on home-manager. https://discourse.nixos.org/t/is-it-possible-to-define-systemd-services-in-a-submodule/39538/5 The idea is that enabling https://nix-community.github.io/home-manager/options.xhtml#opt-programs.bash.enableCompletion should set I think that module system is missing an option to pass config options recursively up to all ancestors. | 15:06:01 | |
My idea is that nixos config could have a property extraNixosChildConfig and in home-manager bash module I could set _recurseAncestors = { extraNixosChildConfig = { environment.pathsToLink = [ ... ]; }; }. | 15:07:22 | |
| wdyt? | 15:07:26 | |
* My idea is that nixos config could have a property extraNixosChildConfig that gets merged with the rest of the config and in home-manager bash module I could set _recurseAncestors = { extraNixosChildConfig = { environment.pathsToLink = [ ... ]; }; }. | 15:07:44 | |
* My idea is that nixos config could pick up extraNixosChildConfig from childs and merge it with the rest of the config and in home-manager bash module I could set _recurseAncestors = { extraNixosChildConfig = { environment.pathsToLink = [ ... ]; }; }. | 15:08:21 | |
| Not sure about that recursive thing, that doesn't seem necessary, but yeah if there's something missing in the NixOS module for home-manager, that could be added | 15:34:09 | |
| Sounds like an issue for the home-manager repo | 15:34:16 | |
| Yeah, we could add it just for home-manager. But is seems like the issue is quite generic. See also https://github.com/NixOS/nixpkgs/pull/152785. | 15:51:50 | |
| Hmm yeah fair. I don't have the capacity to think a lot about this right now, it's a very intricate topic to wrap ones head around | 15:56:55 | |
| Yeah, I just wanted to bring the topic, maybe someone has some interesting thoughts. | 16:05:23 | |
| 17:49:31 | ||
| 20 Feb 2024 | ||
| I'm reading through the module system deep dive on nix.dev and am wondering if there is a behavioral difference between setting an options default behavior in the this
vs this
| 21:39:27 | |
djacu: Setting a default with options.foo = lib.mkOption { default = <value>; ... } is equivalent to config.foo = lib.mkOptionDefault <value>; | 23:23:21 | |
Furthermore, default = <value> (and there's defaultText too) can get rendered in the manual, config.foo = ... can't | 23:24:14 | |
| Right right I forgot about the docs side. I was more focused on merge behavior. So either way they get default priority. Thanks for the explanation! | 23:48:23 | |