Nix ecosystem/es: Difference between revisions

Flandoor (talk | contribs)
No edit summary
Flandoor (talk | contribs)
No edit summary
 
(69 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>
El '''Núcleo del Ecosistema Nix''' es un conjunto de tecnologías diseñado para compilar paquetes de forma reproducible, configurar y administrar de manera declarativa paquetes, sistemas y sus dependencias. Esto se consigue trasladando el paradigma funcional del ámbito de la programación al de los sistemas mediante un lenguaje específico de dominio (DSL), dinámico, funcional y de evaluación diferida, denominado [[Special:MyLanguage/Overview of the Nix Language|lenguaje Nix]], que permite definir compilaciones reproducibles.  
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 [[Special:MyLanguage/Overview of the Nix Language|lenguaje Nix]], que permite definir compilaciones reproducibles.  


<div lang="en" dir="ltr" class="mw-content-ltr">
Además, existen numerosas [[Special:MyLanguage/applications|aplicaciones]] ('''Ecosistema Extendido Nix''') desarrolladas por la comunidad de Nix que utilizan y respaldan estas tecnologías del nucleo.  
In addition there are many other [[Special:MyLanguage/applications|applications]] ('''''Extended Nix Ecosystem''''') developed by the Nix community, utilizing and supporting these core technologies.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Official_ecosystem"></span>
== Official ecosystem ==
== Ecosistema Oficial ==
</div>


{| class="wikitable"
{| class="wikitable"
|+ <span lang="en" dir="ltr" class="mw-content-ltr">Core Components of the Nix Ecosystem</span>
|+ Componentes principales del ecosistema Nix
|-
|-
! <span lang="en" dir="ltr" class="mw-content-ltr">Component</span>
! Componente
! <span lang="en" dir="ltr" class="mw-content-ltr">Manual</span>
! Manual
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! Descripción
! <span lang="en" dir="ltr" class="mw-content-ltr">Use</span>
! Uso
! <span lang="en" dir="ltr" class="mw-content-ltr">License</span>
! Licencia
|-  
|-  
| [[Special:MyLanguage/NixOS|NixOS]]
| [[Special:MyLanguage/NixOS|NixOS]]
| <span lang="en" dir="ltr" class="mw-content-ltr">[https://nixos.org/nixos/manual/ NixOS Manual]</span>
| [https://nixos.org/nixos/manual/ NixOS Manual]
| <span lang="en" dir="ltr" class="mw-content-ltr">A Linux distribution with ''all'' components built by Nix, and thus supporting reproducible and declarative system-wide configuration management as well as atomic upgrades and rollbacks.</span>
| 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.
| <span lang="en" dir="ltr" class="mw-content-ltr">Declaratively configure desktops, servers & clusters</span>
| Configure escritorios, servidores y clústeres de forma declarativa.
| MIT
| MIT
|-
|-
| [[Special:MyLanguage/Nixpkgs|Nixpkgs]]
| [[Special:MyLanguage/Nixpkgs|Nixpkgs]]
| <span lang="en" dir="ltr" class="mw-content-ltr">[https://nixos.org/nixpkgs/manual/ Nixpkgs Manual]</span>
| [https://nixos.org/nixpkgs/manual/ Nixpkgs Manual]
| <span lang="en" dir="ltr" class="mw-content-ltr">The largest community maintained Nix package and NixOS module repository; standard releases of NixOS are hosted here.</span>
| El mayor repositorio de paquetes de Nix y módulos de NixOS mantenido por la comunidad; las versiones oficiales de NixOS se publican aquí.
| <span lang="en" dir="ltr" class="mw-content-ltr">Share Nix packages & NixOS modules</span>
| Comparta paquetes de Nix y módulos para NixOS
| MIT
| MIT
|-
|-
| [[Special:MyLanguage/Hydra|Hydra]]
| [[Special:MyLanguage/Hydra|Hydra]]
| <span lang="en" dir="ltr" class="mw-content-ltr">[https://nixos.org/hydra/manual/ Hydra Manual]</span>
| [https://nixos.org/hydra/manual/ Hydra Manual]
| <span lang="en" dir="ltr" class="mw-content-ltr">A Nix based continuous build system.</span>
| Un sistema de compilación continua basado en Nix.
| <span lang="en" dir="ltr" class="mw-content-ltr">CI build farms</span>
| Infraestructura de compilación de integración continua
| GPL-3.0
| GPL-3.0
|-
|-
| [[Special:MyLanguage/Nix|Nix]]
| [[Special:MyLanguage/Nix|Nix]]
| <span lang="en" dir="ltr" class="mw-content-ltr">[https://nixos.org/nix/manual/ Nix Manual]</span>
| [https://nixos.org/nix/manual/ Nix Manual]
| <span lang="en" dir="ltr" class="mw-content-ltr">A package manager that parses Nix expressions specifying reproducible build, putting the result in a store address with a hash of the dependency tree, sidestepping dependency hell and supporting multiversion installs and rollbacks.</span>
| 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.
| <span lang="en" dir="ltr" class="mw-content-ltr">Reproducible builds & package management in Linux & Darwin</span>
| Compilaciones reproducibles y administración de paquetes en Linux y Darwin.
| LGPL-2.1
| LGPL-2.1
|}  
|}  
Line 46: Line 43:


{| style="max-width: 36rem; margin: auto;"
{| style="max-width: 36rem; margin: auto;"
|+ <span lang="en" dir="ltr" class="mw-content-ltr">'''The NixOS core ecosystem stack'''</span>
|+ '''Principales tecnologías del ecosistema NixOS'''
| style="text-align: center; border: 1px solid var(--border-color-base); background: var(--background-color-neutral); padding: 1.6rem" width="2%"|
| style="text-align: center; border: 1px solid var(--border-color-base); background: var(--background-color-neutral); padding: 1.6rem" width="2%"|
<div style="font-size: 1.3em; font-weight: bold">NixOS</div>
<div style="font-size: 1.3em; font-weight: bold">NixOS</div>
<span lang="en" dir="ltr" class="mw-content-ltr">A Linux distribution and configuration system built using Nixpkgs.</span>
Una distribución de Linux y un sistema de configuración basado en Nixpkgs.
|-
|-
| style="text-align: center; border: 1px solid var(--border-color-base); background: var(--background-color-neutral); padding: 1.6rem" width="2%"|
| style="text-align: center; border: 1px solid var(--border-color-base); background: var(--background-color-neutral); padding: 1.6rem" width="2%"|
<div style="font-size: 1.3em; font-weight: bold">Nixpkgs</div>
<div style="font-size: 1.3em; font-weight: bold">Nixpkgs</div>
<span lang="en" dir="ltr" class="mw-content-ltr">A large, community-maintained repository of packages.</span>
Un amplio repositorio de paquetes mantenido por la comunidad.
| style="text-align: center; border: 1px solid var(--border-color-base); background: var(--background-color-neutral); padding: 1.6rem" width="2%"|
| style="text-align: center; border: 1px solid var(--border-color-base); background: var(--background-color-neutral); padding: 1.6rem" width="2%"|
<div style="font-size: 1.3em; font-weight: bold">Hydra</div>
<div style="font-size: 1.3em; font-weight: bold">Hydra</div>
<span lang="en" dir="ltr" class="mw-content-ltr">A continuous build system built on Nix.</span>
Un sistema de compilación continua basado en Nix.
|-
|-
| style="text-align: center; border: 1px solid var(--border-color-base); background: var(--background-color-neutral); padding: 1.6rem" width="2%" colspan="2"|
| style="text-align: center; border: 1px solid var(--border-color-base); background: var(--background-color-neutral); padding: 1.6rem" width="2%" colspan="2"|
<div style="font-size: 1.3em; font-weight: bold">Nix</div>
<div style="font-size: 1.3em; font-weight: bold">Nix</div>
<span lang="en" dir="ltr" class="mw-content-ltr">A pure and functional build system.</span>
Un sistema de compilación puro y funcional.
|}
|}


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Usage_of_NixOS"></span>
== Usage of NixOS ==
== Uso de NixOS ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
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.
Users install the ''NixOS'' distribution on their computers just as any other Linux distribution. They read about packages to install and configuration options in ''Nixpkgs'' via https://search.nixos.org and this wiki. They use the ''Nix'' language to declaratively describe in a text file what software packages should be installed and how the system should be configured. They run 2 command line programs in a terminal to transform the system into the described system. They use the system as any other Linux system.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Development_of_NixOS"></span>
== Development of NixOS ==
== Desarrollo de NixOS ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
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.
Developers of ''NixOS'' mainly work on ''Nixpkgs''. ''NixOS'' development itself is compromised of three large areas as well as some others which are smaller by volume (but no less important). The major ones include packaging, the module system, and documentation.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* 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.
* Packaging is done in ''Nixpkgs'' and is not exclusive to ''NixOS'' or even Linux-based platforms. Maintainers of packages which are not exclusive to ''NixOS'' (such as tooling required to run the distribution itself) usually take care of multiple platforms although not strictly required.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* 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''.
* The module system is the way in which services running on ''NixOS'' are primarily configured. This area stretches from "low-level" configuration such as ''systemd'' unit files or providing custom kernel configuration up to configuration file generation for specific services. The module system is the primary way for users to configure ''NixOS'', and lives in the <code>nixos/</code> subdirector of ''Nixpkgs''.
</div>


<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">
Todas las contribuciones a ''Nixpkgs'', independientemente de si afectan a ''NixOS'' o no, están sujetas a revisión por pares antes de ser integradas en ''Nixpkgs''. Muchos paquetes, junto con documentación y materiales adicionales como imágenes ISO o archivos tar, se compilan previamente en ''Hydra'' para reducir el tiempo de actualización para los usuarios de ''NixOS''.
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.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Esas tres categorías son las más grandes en cuanto a volumen de contribuciones; sin embargo, muchos mantenedores también participan en actividades relacionadas con la fundación de ''NixOS'', como el mantenimiento de la infraestructura sobre la que se ejecutan el sitio web, ''Hydra'' y otras herramientas, o el desarrollo de herramientas necesarias para ''NixOS''.
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.
</div>


{| class="wikitable"
{| class="wikitable"
|+ <span lang="en" dir="ltr" class="mw-content-ltr">Various examples of ''NixOS'' development along with links.</span>
|+ Varios ejemplos de desarrollo de ''NixOS'' junto con sus enlaces.
! <span lang="en" dir="ltr" class="mw-content-ltr">Type of development</span> !! <span lang="en" dir="ltr" class="mw-content-ltr">Location of Development</span> !! <span lang="en" dir="ltr" class="mw-content-ltr">Examples</span>
! Tipo de desarrollo !! Ubicación del desarrollo !! Ejemplos
|-
|-
| <span lang="en" dir="ltr" class="mw-content-ltr">Platform Agnostic Packaging</span> || ''Nixpkgs'' || <span lang="en" dir="ltr" class="mw-content-ltr">[https://github.com/NixOS/nixpkgs/blob/bf3287dac860542719fe7554e21e686108716879/pkgs/tools/misc/coreutils/default.nix coreutils package], [https://github.com/NixOS/nixpkgs/tree/5fe6820251dfab92c84ff356a7c7c336f8d8490c/pkgs/stdenv ''stdenv'' framework], [https://github.com/NixOS/nixpkgs/blob/5fe6820251dfab92c84ff356a7c7c336f8d8490c/pkgs/applications/office/libreoffice/default.nix Libreoffice package]</span>
| Empaquetado independiente de la plataforma || ''Nixpkgs'' || [https://github.com/NixOS/nixpkgs/blob/bf3287dac860542719fe7554e21e686108716879/pkgs/tools/misc/coreutils/default.nix paquete coreutils ], [https://github.com/NixOS/nixpkgs/tree/5fe6820251dfab92c84ff356a7c7c336f8d8490c/pkgs/stdenv ''stdenv'' framework], [https://github.com/NixOS/nixpkgs/blob/5fe6820251dfab92c84ff356a7c7c336f8d8490c/pkgs/applications/office/libreoffice/default.nix paquete Libreoffice]
|-
|-
| <span lang="en" dir="ltr" class="mw-content-ltr">Platform Agnostic Tooling</span> || <span lang="en" dir="ltr" class="mw-content-ltr">''Nixpkgs'' and various repositories</span> || <span lang="en" dir="ltr" class="mw-content-ltr">[https://github.com/NixOS/nix upstream/default Nix implementation (CppNix)], [https://github.com/NixOS/hydra ''Hydra'' source code], [https://github.com/NixOS/nixpkgs-merge-bot ''Nixpkgs'' merge bot]</span>
| Herramientas independientes de la plataforma || ''Nixpkgs'' y varios repositorios || [https://github.com/NixOS/nix implementación upstream/default de Nix (CppNix)], [https://github.com/NixOS/hydra código fuente de ''Hydra''], [https://github.com/NixOS/nixpkgs-merge-bot bot de integración de ''Nixpkgs'']
|-
|-
| <span lang="en" dir="ltr" class="mw-content-ltr">''NixOS'' Tooling</span> || <span lang="en" dir="ltr" class="mw-content-ltr">mostly ''Nixpkgs''</span> || <span lang="en" dir="ltr" class="mw-content-ltr">[https://github.com/NixOS/nixpkgs/tree/5fe6820251dfab92c84ff356a7c7c336f8d8490c/pkgs/by-name/ni/nixos-rebuild-ng nixos-rebuild-ng source code], [https://github.com/NixOS/nixpkgs/blob/5fe6820251dfab92c84ff356a7c7c336f8d8490c/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix ''NixOS'' Installation ISOs]</span>
| Herramientas de ''NixOS'' || mayormente ''Nixpkgs'' || [https://github.com/NixOS/nixpkgs/tree/5fe6820251dfab92c84ff356a7c7c336f8d8490c/pkgs/by-name/ni/nixos-rebuild-ng Código fuente de nixos-rebuild-ng], [https://github.com/NixOS/nixpkgs/blob/5fe6820251dfab92c84ff356a7c7c336f8d8490c/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix ISOs de instalación de ''NixOS'']
|-
|-
| <span lang="en" dir="ltr" class="mw-content-ltr">''NixOS'' Module System</span> || ''Nixpkgs'' || <span lang="en" dir="ltr" class="mw-content-ltr">[https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/display-managers/default.nix Display Manager configuration], [https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/databases/mysql.nix MySQL (and derivative) database configuration]</span>
| ''NixOS'' Sistema de Módulos || ''Nixpkgs'' || [https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/display-managers/default.nix Configuración del gestor de pantalla], [https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/databases/mysql.nix configuración de bases de datos MySQL (y derivadas)]
|-
|-
| <span lang="en" dir="ltr" class="mw-content-ltr">Infrastructure</span> || || <span lang="en" dir="ltr" class="mw-content-ltr">[https://github.com/NixOS/nixos-wiki-infra Infrastructure for this Wiki], [https://github.com/NixOS/infra ''NixOS'' infra]</span>
| Insfraestructura || || [https://github.com/NixOS/nixos-wiki-infra Infraestructura de esta Wiki], [https://github.com/NixOS/infra infraestructura de ''NixOS'']
|-
|-
| <span lang="en" dir="ltr" class="mw-content-ltr">Documentation</span> || || <span lang="en" dir="ltr" class="mw-content-ltr">[https://wiki.nixos.org This Wiki], [https://github.com/NixOS/nixpkgs/blob/8d92119c540d78599ba208010c722a60958810f4/doc/stdenv/stdenv.chapter.md ''stdenv'' documentation], [https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/configuration/ipv6-config.section.md ''NixOS'' IPv6 configuration] (visible in the [https://nixos.org/manual/nixos/stable/#sec-ipv6 IPv6 section of the ''NixOS'' manual]), [https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md ''Nixpkgs'' Contribution Guidelines]</span>
| Documentación || || [https://wiki.nixos.org Esta Wiki], [https://github.com/NixOS/nixpkgs/blob/8d92119c540d78599ba208010c722a60958810f4/doc/stdenv/stdenv.chapter.md documentación de ''stdenv''], [https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/configuration/ipv6-config.section.md configuración IPv6 de ''NixOS''] (visible en la [https://nixos.org/manual/nixos/stable/#sec-ipv6 sección IPv6 del manual de ''NixOS'']), [https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md Guía de contribución de ''Nixpkgs'']
|-
|-
| <span lang="en" dir="ltr" class="mw-content-ltr">Tech Organisation</span> || || <span lang="en" dir="ltr" class="mw-content-ltr">[https://github.com/NixOS/nixpkgs/issues/390768 ''NixOS'' RelEng], [https://github.com/NixOS/rfcs/ ''Nix'' and ''NixOS'' RFCs]</span>
| Organización Técnica || || [https://github.com/NixOS/nixpkgs/issues/390768 ''NixOS'' RelEng], [https://github.com/NixOS/rfcs/ ''Nix'' and ''NixOS'' RFCs]
|-
|-
| <span lang="en" dir="ltr" class="mw-content-ltr">Other</span> || || <span lang="en" dir="ltr" class="mw-content-ltr">[https://github.com/NixOS/nixos-artwork ''NixOS'' artwork], [https://discourse.nixos.org/ ''NixOS'' (and related) discourse], [https://github.com/NixOS/foundation ''NixOS Foundation'']</span>
| Otros || || [https://github.com/NixOS/nixos-artwork Ilustraciones de ''NixOS''], [https://discourse.nixos.org/ discurso de ''NixOS'' (y relacionados)], [https://github.com/NixOS/foundation Fundación ''NixOS'']
|}
|}


<div lang="en" dir="ltr" class="mw-content-ltr">
Ver también: github.com/NixOS/org Repositorio de la Organización Nix
See also: [https://github.com/NixOS/org Nix organisation repository]
</div>


[[Category:Pedias]]
[[Category:Pedias]]
[[Category:NixOS]]
[[Category:NixOS]]
[[Category:nix]]
[[Category:nix]]