Este art铆culo es part de mi proceso de aprendizaje en Nix. Esta herramienta es muy potente y compleja, por lo que este art铆culo puede incluir algunos errores. Por ello voy a ir actualizando estos art铆culo a medida que vaya aprendiendo m谩s 馃槉

Una de las ventajas de Nix es poder instalarlo en diferentes entornos. Por ejemplo, puedes instalar Nix en un port谩til Macbook o NixOS en una nueva m谩quina. Esta versatilidad conlleva cierta complejida a la hora de entender los conceptos b谩sicos. Esto se debe a que parte de la documentaci贸n de Nix hace referencia a ficheros que solo se encuentran en un tipo de instalaci贸n.

Este es el caso de configuration.nix y nix.conf.

Con NixOS, todo el sistema est谩 definido de forma declarativa. En vez de instalar paquetes con los gestores de paquetes de la distribuci贸n que hayas instalado (como yum, apt o brew), estos se declaran en el fichero configuration.nix. En este fichero puedes definir todos los paquetes que quieres instalar en el sistema:

# ...
environment.systemPackages = with pkgs; [
  vim
  wget
  git
];

Por otro lado, el fichero nix.conf define la configuraci贸n de Nix. Este fichero se encuentra en cualquier instalaci贸n de Nix, mientras que configuration.nix solo estar谩 disponible en NixOS.

Al instalar Nix como un "gestor de paquetes" en un sistem existente, solo necesitas realizar cambios en el fichero nix.conf. Si tu sistema se basa en NixOS, entonces solo debes editar el fichero configuration.nix. NixOS auto-genera el fichero nix.conf en base a las opciones de nix.* en tu configuration.nix.

Referencias