Nix ecosystem/ru: Difference between revisions

Unabomberlive (talk | contribs)
FuzzyBot (talk | contribs)
Updating to match new version of source page
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
Экосистема '''Core Nix''' - это набор технологий, предназначенных для воспроизводимой сборки и декларативного конфигурирования и управления пакетами и системами, а также их зависимостями. Это достигается путем переноса функциональной парадигмы из области программ в область систем с помощью динамического, функционального и ленивого DSL, называемого [[Overview of the Nix Language Nix|Nix Language]] для определения воспроизводимых сборок  
Экосистема '''Core Nix''' - это набор технологий, предназначенных для воспроизводимой сборки и декларативного конфигурирования и управления пакетами и системами, а также их зависимостями. Это достигается путем переноса функциональной парадигмы из области программ в область систем с помощью динамического, функционального и ленивого DSL, называемого [[Overview of the Nix Language|Nix Language]] для определения воспроизводимых сборок  


Кроме того, существует множество других [[applications]] ('''''Extended Nix Ecosystem)''''', разработанных сообществом Nix, использующих и поддерживающих эти основные технологии.  
Кроме того, существует множество других [[applications]] ('''''Extended Nix Ecosystem)''''', разработанных сообществом Nix, использующих и поддерживающих эти основные технологии.  
Line 41: Line 41:
|}  
|}  


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
{| style="max-width: 36rem; margin: auto;"
{| style="max-width: 36rem; margin: auto;"
|+'''The NixOS core ecosystem stack'''
|+'''Основной стек экосистемы NixOS'''
|style="text-align: center; border: 1px solid #ddd; background: #fafafa; padding: 1.6rem" width="2%"|
|style="text-align: center; border: 1px solid #ddd; background: #fafafa; 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>
A Linux distribution and configuration system built using Nixpkgs
Дистрибутив Linux и система конфигурирования, построенная с использованием Nixpkgs
!
!
|-
|-
|style="text-align: center; border: 1px solid #ddd; background: #fafafa; padding: 1.6rem" width="2%"|
|style="text-align: center; border: 1px solid #ddd; background: #fafafa; 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>
A large, community-maintained repository of packages
Большой, поддерживаемый сообществом репозиторий пакетов
|style="text-align: center; border: 1px solid #ddd; background: #fafafa; padding: 1.6rem" width="2%"|
|style="text-align: center; border: 1px solid #ddd; background: #fafafa; 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>
A continuous build system built on Nix
Система непрерывной сборки, построенная на базе Nix
|-
|-
|style="text-align: center; border: 1px solid #ddd; background: #fafafa; padding: 1.6rem" width="2%" colspan="2"|
|style="text-align: center; border: 1px solid #ddd; background: #fafafa; 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>
A pure and functional build system
Чистая и функциональная система сборки
|}
|}
</div>
</div>


<div class="mw-translate-fuzzy">
== Использование NixOS ==
== Использование NixOS ==
Пользователи устанавливают дистрибутив ''NixOS'' на свои компьютеры так же, как и любой другой дистрибутив Linux. Они читают о пакетах для установки и параметрах конфигурации в ''Nixpkgs'' на сайте https://search.nixos.org и в этой вики. Они используют язык ''Nix'', чтобы декларативно описать в текстовом файле, какие пакеты программ должны быть установлены и как должна быть настроена система. Они запускают 2 программы командной строки в терминале, чтобы преобразовать систему в описанную систему. Они используют систему как любую другую систему Linux.
Пользователи устанавливают дистрибутив ''NixOS'' на свои компьютеры так же, как и любой другой дистрибутив Linux. Они читают о пакетах для установки и параметрах конфигурации в ''Nixpkgs'' на сайте https://search.nixos.org и в этой вики. Они используют язык ''Nix'', чтобы декларативно описать в текстовом файле, какие пакеты программ должны быть установлены и как должна быть настроена система. Они запускают 2 программы командной строки в терминале, чтобы преобразовать систему в описанную систему. Они используют систему как любую другую систему Linux.
</div>


<div class="mw-translate-fuzzy">
== Разработка NixOS ==
== Разработка NixOS ==
Разработчики ''NixOS'' в основном работают над ''Nixpkgs'', чтобы описать в текстовых файлах на языке ''Nix'', как должны быть собраны программные пакеты. После экспертной оценки эти изменения интегрируются в ''Nixpkgs''. Некоторые из этих пакетов предварительно собираются на ''Hydra'', чтобы сократить время обновления для пользователей ''NixOS''.
Разработчики ''NixOS'' в основном работают над ''Nixpkgs'', чтобы описать в текстовых файлах на языке ''Nix'', как должны быть собраны программные пакеты. После экспертной оценки эти изменения интегрируются в ''Nixpkgs''. Некоторые из этих пакетов предварительно собираются на ''Hydra'', чтобы сократить время обновления для пользователей ''NixOS''.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* 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">
* 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">
* 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">
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">
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>
<div lang="en" dir="ltr" class="mw-content-ltr">
{| class="wikitable"
|+ Various examples of ''NixOS'' development along with links.
! Type of development !! Location of Development !! Examples
|-
| Platform Agnostic Packaging || ''Nixpkgs'' || [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]
|-
| Platform Agnostic Tooling || ''Nixpkgs'' and various repositories || [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]
|-
| ''NixOS'' Tooling || mostly ''Nixpkgs'' || [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]
|-
| ''NixOS'' Module System || ''Nixpkgs'' || [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]
|-
| Infrastructure || || [https://github.com/NixOS/nixos-wiki-infra Infrastructure for this Wiki], [https://github.com/NixOS/infra ''NixOS'' infra]
|-
| Documentation || || [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]
|-
| Tech Organisation || || [https://github.com/NixOS/nixpkgs/issues/390768 ''NixOS'' RelEng], [https://github.com/NixOS/rfcs/ ''Nix'' and ''NixOS'' RFCs]
|-
| Other || || [https://github.com/NixOS/nixos-artwork ''NixOS'' artwork], [https://discourse.nixos.org/ ''NixOS'' (and related) discourse], [https://github.com/NixOS/foundation ''NixOS Foundation'']
|}
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See also: [https://github.com/NixOS/org Nix organisation repository]
</div>


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