forked from lix-project/lix
d407d572fd
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"
|