shorthand for {x = {y = {z = ...;};};}. This is especially useful
for NixOS configuration files, e.g.
{
services = {
sshd = {
enable = true;
port = 2022;
};
};
}
can now be written as
{
services.sshd.enable = true;
services.sshd.port = 2022;
}
However, it is currently not permitted to write
{
services.sshd = {enable = true;};
services.sshd.port = 2022;
}
as this is considered a duplicate definition of `services.sshd'.
22 lines
566 B
Nix
22 lines
566 B
Nix
let
|
|
|
|
config =
|
|
{
|
|
services.sshd.enable = true;
|
|
services.sshd.port = 22;
|
|
services.httpd.port = 80;
|
|
hostName = "itchy";
|
|
a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z = "x";
|
|
foo = {
|
|
a = "a";
|
|
b.c = "c";
|
|
};
|
|
};
|
|
|
|
in
|
|
if config.services.sshd.enable
|
|
then "foo ${toString config.services.sshd.port} ${toString config.services.httpd.port} ${config.hostName}"
|
|
+ "${config.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z}"
|
|
+ "${config.foo.a}"
|
|
+ "${config.foo.b.c}"
|
|
else "bar"
|