Creating a NixOS live CD/ru: Difference between revisions

Unabomberlive (talk | contribs)
No edit summary
FuzzyBot (talk | contribs)
Updating to match new version of source page
 
(9 intermediate revisions by one other user not shown)
Line 1: Line 1:
<span id="Motivation"></span>
<span id="Motivation"></span>
<div class="mw-translate-fuzzy">
== Мотивация ==
== Мотивация ==
Создание модифицированного NixOS LiveCD из существующей рабочей установки NixOS имеет ряд преимуществ:
* Обеспечение подлинности.
* Нет необходимости в доступе в Интернет.
* Легко добавлять в образ собственные пакеты и изменения конфигурации.
</div>


Создвние модифицированного образа NixOS из имеюшийся системы имеет множество преимуществ:
Создвние модифицированного образа NixOS из имеюшийся системы имеет множество преимуществ:
Line 16: Line 10:
* Нет необходимости в интернет доступе.
* Нет необходимости в интернет доступе.


<div lang="en" dir="ltr" class="mw-content-ltr">
* В собстенный образ легко добавить пакеты и изменять конфигурацию.
* It is easy to add your own packages and configuration changes to the image.
</div>


<span id="Building"></span>
<span id="Building"></span>
<div class="mw-translate-fuzzy">
== Сборка ==
== Сборка ==
Сборка минимального установочного образа Nixos с помощью комманды <code>nix-build</code> и файла <code>iso.nix</code>. В этом примере, с предустановленным [[Neovim]].
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 57: Line 46:
   inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
   inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
   outputs = { self, nixpkgs }: {
   outputs = { self, nixpkgs }: {
    packages.x86_64-linux.default = self.nixosConfigurations.exampleIso.config.system.build.isoImage;
     nixosConfigurations = {
     nixosConfigurations = {
       exampleIso = nixpkgs.lib.nixosSystem {
       exampleIso = nixpkgs.lib.nixosSystem {
Line 75: Line 65:


<syntaxhighlight lang="console">
<syntaxhighlight lang="console">
# git init
 
# git add flake.nix
# nix build path:$PWD
# nix build .#nixosConfigurations.exampleIso.config.system.build.isoImage
</syntaxhighlight>
</syntaxhighlight>


Line 88: Line 77:


<span id="Testing_the_image"></span>
<span id="Testing_the_image"></span>
<div class="mw-translate-fuzzy">
=== Тестирование образа ===
=== Тестирование образа ===
Чтобы просмотреть содержимое образа ISO, выполните следующие действия:
Чтобы просмотреть содержимое образа ISO, выполните следующие действия:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 116: Line 103:
В вашем <tt>iso.nix</tt>:
В вашем <tt>iso.nix</tt>:


<div lang="en" dir="ltr" class="mw-content-ltr">
В вашем <tt>iso.nix</tt>
In your <tt>iso.nix</tt>:
</div>


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
Line 136: Line 121:
Статические IP-адреса можно задать в самом образе. Это может быть полезно при установке VPS.
Статические IP-адреса можно задать в самом образе. Это может быть полезно при установке VPS.


<div lang="en" dir="ltr" class="mw-content-ltr">
Статический IP-адрес может бвть установлен в образе. Это может быть полехно для установки на VPS.
Static IP addresses can be set in the image itself. This can be useful for VPS installation.
</div>


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix" line="1">
{
{
   ...
   ...
   networking = {
   networking = {
     usePredictableInterfaceNames = false;
     usePredictableInterfaceNames = false;
     interfaces.eth0.ip4 = [{
     interfaces.eth0.ipv4.addresses = [{
       address = "64.137.201.46";
       address = "64.137.201.46";
       prefixLength = 24;
       prefixLength = 24;
Line 191: Line 174:


<span id="See_also"></span>
<span id="See_also"></span>
<div class="mw-translate-fuzzy">
==См. Также==
==См. Также==
* [https://nixos.org/manual/nixos/stable/index.html#sec-building-image NixOS Manual: Сборка Live-образа NixOS].
* [https://nixos.org/manual/nixos/stable/index.html#sec-building-image NixOS Manual: Сборка Live-образа NixOS].
</div>


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