Jump to content

Nix ecosystem/es: Difference between revisions

From Official NixOS Wiki
Flandoor (talk | contribs)
Created page with "* El sistema de módulos es la forma en que se configuran principalmente los servicios que se ejecutan en ''NixOS''. Esta área abarca desde configuraciones de "bajo nivel", como archivos de unidades de ''systemd'' o la provisión de configuraciones personalizadas del kernel, hasta la generación de archivos de configuración para servicios específicos. El sistema de módulos es la principal forma en que los usuarios configuran ''NixOS'' y se encuentra en el subdirector..."
Tags: Mobile edit Mobile web edit
Flandoor (talk | contribs)
Created page with "* La documentación está integrada en gran medida en los datos del sistema de empaquetado y de módulos, aunque también se incluyen archivos Markdown independientes en el repositorio de ''Nixpkgs''. La documentación también abarca el mantenimiento del sitio web, la Wiki y otros aspectos del ecosistema más amplio. Las dos primeras categorías consisten casi exclusivamente en código del lenguaje ''Nix'' escrito en archivos de texto, mientras que la última es una com..."
Tags: Mobile edit Mobile web edit
Line 74: Line 74:
* El sistema de módulos es la forma en que se configuran principalmente los servicios que se ejecutan en ''NixOS''. Esta área abarca desde configuraciones de "bajo nivel", como archivos de unidades de ''systemd'' o la provisión de configuraciones personalizadas del kernel, hasta la generación de archivos de configuración para servicios específicos. El sistema de módulos es la principal forma en que los usuarios configuran ''NixOS'' y se encuentra en el subdirectorio <code>nixos/</code> de ''Nixpkgs''.
* El sistema de módulos es la forma en que se configuran principalmente los servicios que se ejecutan en ''NixOS''. Esta área abarca desde configuraciones de "bajo nivel", como archivos de unidades de ''systemd'' o la provisión de configuraciones personalizadas del kernel, hasta la generación de archivos de configuración para servicios específicos. El sistema de módulos es la principal forma en que los usuarios configuran ''NixOS'' y se encuentra en el subdirectorio <code>nixos/</code> de ''Nixpkgs''.


<div lang="en" dir="ltr" class="mw-content-ltr">
* La documentación está integrada en gran medida en los datos del sistema de empaquetado y de módulos, aunque también se incluyen archivos Markdown independientes en el repositorio de ''Nixpkgs''. La documentación también abarca el mantenimiento del sitio web, la Wiki y otros aspectos del ecosistema más amplio. Las dos primeras categorías consisten casi exclusivamente en código del lenguaje ''Nix'' escrito en archivos de texto, mientras que la última es una combinación de código ''Nix'', archivos Markdown y diversos formatos adicionales.
* Documentation is largely embedded in packaging and module system data, although free-standing markdown files are also contained in the ''Nixpkgs'' repository. Documentation also includes maintaining the website, Wiki, and other aspects of the wider ecosystem. The first two categories are almost exclusively ''Nix'' language code written in text files, while the latter is a mix of ''Nix'' code, markdown files, and various other formats.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">

Revision as of 18:39, 13 July 2026

El Núcleo del ecosistema Nix es un conjunto de tecnologías diseñado para compilar de forma reproducible paquetes y sistemas, así como para configurarlos y administrarlos de manera declarativa junto con sus dependencias. Esto se consigue trasladando el paradigma funcional del ámbito de los programas al de los sistemas mediante un lenguaje específico de dominio (DSL), dinámico, funcional y de evaluación diferida, denominado lenguaje Nix, que permite definir compilaciones reproducibles.

Además, existen numerosas aplicaciones (ecosistema extendido de Nix) desarrolladas por la comunidad de Nix que utilizan y respaldan estas tecnologías del núcleo.

Ecosistema Oficial

Componentes principales del ecosistema Nix
Componente Manual Descripción Uso Licencia
NixOS NixOS Manual Una distribución de Linux cuyos todos los componentes se compilan con Nix, lo que permite la gestión declarativa y reproducible de la configuración de todo el sistema, además de actualizaciones y reversiones atómicas. Configure escritorios, servidores y clústeres de forma declarativa. MIT
Nixpkgs Nixpkgs Manual El mayor repositorio de paquetes de Nix y módulos de NixOS mantenido por la comunidad; las versiones oficiales de NixOS se publican aquí. Comparta paquetes de Nix y módulos para NixOS MIT
Hydra Hydra Manual Un sistema de compilación continua basado en Nix. Granjas de compilación para integración continua (CI). GPL-3.0
Nix Nix Manual Un gestor de paquetes que interpreta expresiones de Nix para definir compilaciones reproducibles y almacena el resultado en la store de Nix utilizando una dirección basada en el hash del árbol de dependencias. Esto evita el «infierno de las dependencias» y permite instalar varias versiones de un mismo paquete, así como realizar reversiones. Compilaciones reproducibles y administración de paquetes en Linux y Darwin. LGPL-2.1


Principales tecnologías del ecosistema NixOS
NixOS

Una distribución de Linux y un sistema de configuración basado en Nixpkgs.

Nixpkgs

Un amplio repositorio de paquetes mantenido por la comunidad.

Hydra

Un sistema de compilación continua basado en Nix.

Nix

Un sistema de compilación puro y funcional.

Uso de NixOS

Los usuarios instalan la distribución NixOS en sus equipos como cualquier otra distribución de Linux. Consultan los paquetes disponibles y las opciones de configuración en Nixpkgs a través de https://search.nixos.org y de esta wiki. Utilizan el lenguaje Nix para describir de forma declarativa, en un archivo de texto, qué paquetes de software deben instalarse y cómo debe configurarse el sistema. Ejecutan dos programas de línea de comandos en una terminal para transformar el sistema en el sistema descrito. Luego utilizan el sistema como cualquier otro sistema Linux.

Desarrollo de NixOS

Los desarrolladores de NixOS trabajan principalmente en Nixpkgs. El desarrollo del propio NixOS abarca tres grandes áreas, además de otras de menor tamaño (aunque no menos importantes). Las áreas principales son el empaquetado, el sistema de módulos y la documentación.

  • El empaquetado se realiza en Nixpkgs y no es exclusivo de NixOS ni siquiera de plataformas basadas en Linux. Los mantenedores de paquetes que no son exclusivos de NixOS (como las herramientas necesarias para ejecutar la propia distribución) suelen encargarse de múltiples plataformas, aunque esto no es un requisito estricto.
  • El sistema de módulos es la forma en que se configuran principalmente los servicios que se ejecutan en NixOS. Esta área abarca desde configuraciones de "bajo nivel", como archivos de unidades de systemd o la provisión de configuraciones personalizadas del kernel, hasta la generación de archivos de configuración para servicios específicos. El sistema de módulos es la principal forma en que los usuarios configuran NixOS y se encuentra en el subdirectorio nixos/ de Nixpkgs.
  • La documentación está integrada en gran medida en los datos del sistema de empaquetado y de módulos, aunque también se incluyen archivos Markdown independientes en el repositorio de Nixpkgs. La documentación también abarca el mantenimiento del sitio web, la Wiki y otros aspectos del ecosistema más amplio. Las dos primeras categorías consisten casi exclusivamente en código del lenguaje Nix escrito en archivos de texto, mientras que la última es una combinación de código Nix, archivos Markdown y diversos formatos adicionales.

All contributions to Nixpkgs, regardless of whether they affect NixOS or not, are subject to peer review before being integrated into Nixpkgs. Many packages alongside documentation and supplementary materials such as ISOs or tarballs are pre built on Hydra to reduce the update time for NixOS users.

Those three categories are largest by contribution volume, however many maintainers also engage in activities surrounding the NixOS foundation, maintaining the infrastructure on which website, Hydra, and other tools run on, or developing tooling required for NixOS.

Various examples of NixOS development along with links.
Type of development Location of Development Examples
Platform Agnostic Packaging Nixpkgs coreutils package, stdenv framework, Libreoffice package
Platform Agnostic Tooling Nixpkgs and various repositories upstream/default Nix implementation (CppNix), Hydra source code, Nixpkgs merge bot
NixOS Tooling mostly Nixpkgs nixos-rebuild-ng source code, NixOS Installation ISOs
NixOS Module System Nixpkgs Display Manager configuration, MySQL (and derivative) database configuration
Infrastructure Infrastructure for this Wiki, NixOS infra
Documentation This Wiki, stdenv documentation, NixOS IPv6 configuration (visible in the IPv6 section of the NixOS manual), Nixpkgs Contribution Guidelines
Tech Organisation NixOS RelEng, Nix and NixOS RFCs
Other NixOS artwork, NixOS (and related) discourse, NixOS Foundation