Hi! I am a new NixOS user, so please inform me if the following question is irrelevant, or has an easy answer.
I am trying to understand how the
imports list works in the
configuration.nix. I can’t really find how the
imports list is used by
NixOS. I expect it to work similar to the
import function but that does not seem to be the case.
By default, the
import function does not pass any variable/environmet to the evaluated expression. However, the NixOS configuration is readily available in the expressions part of the
So what I get is that NixOS is doing something like (I am using Haskell syntax, please excuse me)
map (\x -> import x currentSystemConfig) imports
and then merge the expression (with
// or something similar).
currentSystemConfig is the attribute set of the current configuration of NixOS containing the
services.xxx attribute set, the
programs.xxx attribute set and so on.
In any case, this is really confusing and I don’t find any documentation about the
imports list. (There is plenty of information about the
import function, which should probably be called
eval, at least in my opinion).