Attrsets

Equivalentes a objetos do Javascript ou dicionários do Python, porém não podem ser modificados depois de declarados.

Para juntar dois attrsets é usado o operador //.

let
    a = { linguagem = "Nix"; };
    b = { versao = "2.4"; };
in a // b

Também é possível especificar attrsets aninhados usando duas formas que podem ser interutilizadas sem problemas.

let
    a = {
        linguagem.nome = "Nix";
        linguagem.versao = "2.4";
    };
    b = {
        linguagem = {
            nome = "Nix";
            versao = "2.4";
        };
    };
in {
    inherit a b;
};