Flakes/ru: Difference between revisions

Unabomberlive (talk | contribs)
Created page with "Nix flakes обеспечивают единую структуру для Nix-проектов, фиксируют версии зависимостей в лок-файле и делают более удобным написание воспроизводимых Nix-выражений."
Unabomberlive (talk | contribs)
Created page with "=== Входная схема ==="
 
(16 intermediate revisions by 2 users not shown)
Line 7: Line 7:
Nix flakes обеспечивают единую структуру для Nix-проектов, фиксируют версии зависимостей в лок-файле и делают более удобным написание воспроизводимых Nix-выражений.
Nix flakes обеспечивают единую структуру для Nix-проектов, фиксируют версии зависимостей в лок-файле и делают более удобным написание воспроизводимых Nix-выражений.


<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://nixos.org/manual/nix/unstable/command-ref/new-cli/nix3-flake.html#description flake] это файловая структура, корневая директория которой содержит спецификацию Nix в файле <code>flake.nix</code>.
* A [https://nixos.org/manual/nix/unstable/command-ref/new-cli/nix3-flake.html#description flake] refers to a file-system tree whose root directory contains the Nix file specification called <code>flake.nix</code>.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* Содержимое файла <code>flake.nix</code> следует единой схеме наименования для объявления пакетов и их зависимостей на языке Nix.
* The contents of <code>flake.nix</code> file follow a uniform naming schema for declaring packages and their dependencies in the Nix language.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Флейки вводят [https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html#flake-references синтаксис, похожий на URL] для указания удалённых источников.
*  Flakes introduce a [https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html#flake-references URL-like syntax] for specifying remote sources.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* Чтобы упростить длинный синтаксис URL с помощью более коротких названий, [https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-registry.html флейки используют реестр] символических идентификаторов.
* To simplify the long URL syntax with shorter names, [https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-registry.html flakes uses a registry] of symbolic identifiers.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* Флейки также позволяют фиксировать ссылки и версии, которые затем могут быть запрошены и обновлены программно.
* Flakes also allow for locking references and versions that can then be queried and updated programmatically.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
[https://nixos.org/manual/nix/stable/command-ref/new-cli/nix.html Экспериментальный интерфейс командной строки] принимает ссылки на флейки для выражений, которые создают, запускают и развёртывают пакеты.
* An [https://nixos.org/manual/nix/stable/command-ref/new-cli/nix.html experimental command-line interface] accepts flake references for expressions that build, run, and deploy packages.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Enable_flakes_temporarily"></span>
====Enable flakes temporarily====
==== Временно включить поддержку Flakes ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
При использовании любой команды <code>nix</code> добавьте следующие параметры командной строки:
When using any <code>nix</code> command, add the following command-line options:
</div>
<syntaxhighlight lang="shell">
<syntaxhighlight lang="shell">
  --experimental-features 'nix-command flakes'
  --experimental-features 'nix-command flakes'
</syntaxhighlight>
</syntaxhighlight>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Enable_flakes_permanently_in_NixOS"></span>
====Enable flakes permanently in NixOS====
====Включить flakes на постоянной основе в NixOS====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 55: Line 39:


<span id="Other_Distros,_with_Home-Manager"></span>
<span id="Other_Distros,_with_Home-Manager"></span>
===== Другие Дистрибутивы, с Home-Manager =====
===== В других Дистрибутивах, с Home-Manager =====


Добавьте следующее в свою конфигурацию Home-Manager:
Добавьте следующее в свою конфигурацию Home-Manager:
Line 76: Line 60:
</syntaxHighlight>
</syntaxHighlight>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Basic_Usage_of_Flake"></span>
===Basic Usage of Flake===
=== Основное Использование Flake ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Прежде чем выполнять какие-либо команды nix на этом этапе, обратите внимание на два предупреждения ниже: одно для шифрования, другое для git.
Before running any nix commands at this point, please note the two warnings below: one for encryption and the other for git.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 128: Line 109:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* <code>description</code> это строка описывающая flake.
* <code>description</code> is a string describing the flake.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 144: Line 123:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Input_schema"></span>
=== Input schema ===
=== Входная схема ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 208: Line 186:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
В которой:
Where:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 632: Line 608:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Importing_packages_from_multiple_nixpkgs_branches"></span>
== Importing packages from multiple nixpkgs branches ==
== Импорт пакетов из нескольких веток nixpkgs ==
</div>


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