NixOS as a desktop/ru: Difference between revisions

From NixOS Wiki
Sk7Str1p3 (talk | contribs)
mNo edit summary
Sk7Str1p3 (talk | contribs)
Created page with "* Импортировать другие модули * Описывать новые опции * Предоставлять значения для опций (по большей части именно этим занимается стандартный configuration.nix) * Обращаться к значениям опций из других модулей (через аттрибут <code>config</code>, переданный всем модулям)"
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
NixOS может быть использована для разных целей. Если вы желаете использовать её как основную десктопную ОС для повседневного использования ( на реальном железе или [https://twitter.com/mitchellh/status/1346136404682625024 виртуальной машине]), то эта страница для вас. Даже если вы планируете использовать NixOS в облаке или на специально настроенных серверах, вы, возможно, хотите начать с уроков, изложенных здесь, чтобы ближе познакомиться с экосистемой Nix.
NixOS может быть использована для разных целей. Если вы желаете использовать её как основную десктопную ОС для повседневного использования (на реальном железе или [https://twitter.com/mitchellh/status/1346136404682625024 виртуальной машине](англ.)), то эта страница для вас. Даже если вы планируете использовать NixOS в облаке или на специально настроенных серверах, вы, возможно, хотите начать с уроков, изложенных здесь, чтобы ближе познакомиться с экосистемой Nix.


<span id="Installation"></span>
<span id="Installation"></span>
Line 8: Line 8:
=== Метод Wiki ===
=== Метод Wiki ===


Если вы предпочитаете чтение, для начала посмотрите [https://wiki.nixos.org/wiki/NixOS_Installation_Guide/ru инструкцию по установке]. Если же видео, пролистайте ниже до секции "Видео инструкции". Учитывайте, что для десктопной установки, вам потребуется как минимум 30 GiB места на диске, чтобы вместить рабочее окружение (например GNOME, KDE, или XFCE), браузеры (например Firefox), и другие графические утилиты (такие как VSCode), что вполне разумно для повседневного использования. Для минимальной установки, вероятно, хватит и 15 Gib.
Если вы предпочитаете чтение, для начала посмотрите [[NixOS_Installation_Guide/ru|инструкцию по установке]]. Если же видео, пролистайте ниже до секции "Видео инструкции". Учитывайте, что для десктопной установки, вам потребуется как минимум 30 GiB места на диске, чтобы вместить рабочее окружение (например GNOME, KDE, или XFCE), браузеры (например Firefox), и другие графические утилиты (такие как VSCode), что вполне разумно для повседневного использования. Для минимальной установки, вероятно, хватит и 15 Gib.


<span id="Video_guide"></span>
<span id="Video_guide"></span>
Line 16: Line 16:


<span id="Managing_your_configuration"></span>
<span id="Managing_your_configuration"></span>
== Обслуживание своей конфигурации ==
== Управление своей конфигурацией ==


<div lang="en" dir="ltr" class="mw-content-ltr">
Вы можете управлять всей конфигурацией, используя методы, описанные в [https://nixos.org/manual/nixos/stable/index.html оффициальном мануале NixOS](англ). Однако, большинство членов сообщества, использующих NixOS на ПК, предпочитают управлять пользовательской конфигурацией ("dotfiles") с помощью [[Home_Manager/ru|Home Manager]]. Home Manager - утилита, направленная на пользователей, для описания, что вы хотите установить и как оно должно быть настроено, поэтому может быть использовано вместо большинства настроек, которые вы бы добавили в [https://nixos.org/manual/nixos/stable/#sec-changing-config configuration.nix] или через [[FAQ#How_can_I_manage_software_with_nix-env_like_with_configuration.nix.3F|nix-env]]
It is possible to manage your entire configuration using the methods documented in the [https://nixos.org/manual/nixos/stable/index.html NixOS official manual]. However, most community members who use NixOS on the desktop prefer to manage their user configurations (e.g. "dotfiles") using [[Home Manager]] (citation needed). Home Manager is a user oriented tool for declaring what you want installed and how you want it configured, and thus would be used in lieu of most settings you would otherwise put into a [https://nixos.org/manual/nixos/stable/#sec-changing-config configuration.nix] or through [[FAQ#How_can_I_manage_software_with_nix-env_like_with_configuration.nix.3F|nix-env]]
</div>


<span id="Video_guide"></span>
<span id="Video_guide"></span>
Line 41: Line 39:
=== С помощью модулей NixOS ===
=== С помощью модулей NixOS ===


<div lang="en" dir="ltr" class="mw-content-ltr">
configuration.nix - это экземпляр [[NixOS_modules/ru|модуля NixOS]], который делает разделение конфигурации на несколько файлов проще. Модули способны:
configuration.nix is an instance of a [[NixOS modules|NixOS module]], which makes it easy to break your configuration into several files. Modules can:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* Импортировать другие модули
* Import other modules
* Описывать новые опции
* Declare new options
* Предоставлять значения для опций (по большей части именно этим занимается стандартный configuration.nix)
* Provide values for options (this is what most of your default configuration.nix does)
* Обращаться к значениям опций из других модулей (через аттрибут <code>config</code>, переданный всем модулям)
* Reference option values from other modules (via the <code>config</code> attribute passed to all modules)
</div>


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


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Video_guide"></span>
==== Video guide ====
==== Видеопособие ====
</div>


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

Latest revision as of 19:31, 12 January 2025

NixOS может быть использована для разных целей. Если вы желаете использовать её как основную десктопную ОС для повседневного использования (на реальном железе или виртуальной машине(англ.)), то эта страница для вас. Даже если вы планируете использовать NixOS в облаке или на специально настроенных серверах, вы, возможно, хотите начать с уроков, изложенных здесь, чтобы ближе познакомиться с экосистемой Nix.

Установка

Метод Wiki

Если вы предпочитаете чтение, для начала посмотрите инструкцию по установке. Если же видео, пролистайте ниже до секции "Видео инструкции". Учитывайте, что для десктопной установки, вам потребуется как минимум 30 GiB места на диске, чтобы вместить рабочее окружение (например GNOME, KDE, или XFCE), браузеры (например Firefox), и другие графические утилиты (такие как VSCode), что вполне разумно для повседневного использования. Для минимальной установки, вероятно, хватит и 15 Gib.

Видео инструкции

Для визуальных гайдов, смотрите Wil T Nix Guides(англ). второе видео - лаконичный гайд по установке. Это серия из 8 видео, записанных в начала 2021, также объясняет базы использования NixOS на ПК и конфигурирования по вашему вкусу.

Управление своей конфигурацией

Вы можете управлять всей конфигурацией, используя методы, описанные в оффициальном мануале NixOS(англ). Однако, большинство членов сообщества, использующих NixOS на ПК, предпочитают управлять пользовательской конфигурацией ("dotfiles") с помощью Home Manager. Home Manager - утилита, направленная на пользователей, для описания, что вы хотите установить и как оно должно быть настроено, поэтому может быть использовано вместо большинства настроек, которые вы бы добавили в configuration.nix или через nix-env

Видео инструкции

Wil T's guides are about an even mix of:

  1. Hands-on bootstrapping to get to being able to very capably manage your system using Home Manager, git versioning, and eventually Flakes.
  2. Conceptual overviews and general exposition of the Nix ecosystem, community, and available resources.

The second video, starting from about 27 minutes in, is also an introduction to and guide to setting up Home Manager.

Модульная конфигурация

С помощью модулей NixOS

configuration.nix - это экземпляр модуля NixOS, который делает разделение конфигурации на несколько файлов проще. Модули способны:

  • Импортировать другие модули
  • Описывать новые опции
  • Предоставлять значения для опций (по большей части именно этим занимается стандартный configuration.nix)
  • Обращаться к значениям опций из других модулей (через аттрибут config, переданный всем модулям)

As long as you declare options for any values you want to share between modules, you can divide your configuration however you like into files that get imported, directly or transitively, by your root configuration.nix file. You can also import modules from remote sources, using functions like builtins.fetchTarball. See the wiki page or the NixOS manual for more information.

С помощью Flakes

If you want a more composable[citation needed] NixOS configuration setup, the still-experimental Flakes feature is causing a lot of excitement in the community. Managing flakes requires a good basic understanding and some existing hands on experience with the Nix ecosystem.

Видеопособие

Videos seven and eight of Wil T's original 8-part series are a good overview of what Flakes enable and how to get started with them.

Beyond initial setup

After you are familiar with the Nix ecosystem and have a functional desktop install of NixOS, you will likely be interested in customizations and more detailed setup.

Learn by example

If you are comfortable managing your system through a git repo using flakes, then there are many repositories you can learn from now!

Check out Comparison of NixOS setups for a table comparing some popular choices.

See Configuration Collection for a long list within the wiki.

Additionally, the following topic searches on Github should uncover many useful examples.