NixOS as a desktop/ru: Difference between revisions

Sk7Str1p3 (talk | contribs)
Created page with "Вы можете управлять всей конфигурацией, используя методы, описанные в [https://nixos.org/manual/nixos/stable/index.html оффициальном мануале NixOS](англ). Однако, большинство членов сообщества, использующих NixOS на ПК, предпочитают управлять пользовательской конфигурацией ("dotfiles") с по..."
Rose20 (talk | contribs)
No edit summary
 
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
NixOS может быть использована для разных целей. Если вы желаете использовать её как основную десктопную ОС для повседневного использования (на реальном железе или [https://twitter.com/mitchellh/status/1346136404682625024 виртуальной машине](англ.)), то эта страница для вас. Даже если вы планируете использовать NixOS в облаке или на специально настроенных серверах, вы, возможно, хотите начать с уроков, изложенных здесь, чтобы ближе познакомиться с экосистемой Nix.
NixOS может быть использована для разных целей. Если вы желаете использовать её как основную десктопную ОС для повседневного использования (на реальном железе или [https://twitter.com/mitchellh/status/1346136404682625024 виртуальной машине](англ.)), то эта страница для вас. Даже если вы планируете использовать NixOS в облаке или на специально настроенных серверах, вы, возможно, хотите начать с уроков, изложенных здесь, чтобы ближе познакомиться с экосистемой Nix.
</div>


<span id="Installation"></span>
<span id="Installation"></span>
== Установка ==
== Установка ==


<span id="Wiki_method"></span>
Если вы предпочитаете чтение, для начала посмотрите [[NixOS_Installation_Guide/ru|инструкцию по установке]]. Учитывайте, что для десктопной установки, вам потребуется как минимум 30 Гб места на диске, чтобы вместить [[:Category:Desktop environment|рабочее окружение]], [[:Category:Web Browser|браузеры]], и другие [[:Category:Applications|графические утилиты]], что вполне разумно для повседневного использования. Для минимальной установки, вероятно, хватит и 15 Гб.
=== Метод Wiki ===
 
<span id="Managing_your_configuration"></span>
== Управление своей конфигурацией ==
 
Как описанно в [[Overview of the NixOS Linux distribution#Declarative Configuration|Обзор NixOS Linux дистрибутива (англ.)]], NixOS декларативный. Это значит, что, полную конфигурацию системы, включая установленные пакеты, сервисы, параметры ядра, и пользовательские аккаунты обьявлены в конфигурационном файле, обычно в <code>/etc/nixos/configuration.nix</code>. Затем эти настройки могут быть применены последовательно и воспроизводимо ко всем компьютерам.


Если вы предпочитаете чтение, для начала посмотрите [[NixOS_Installation_Guide/ru|инструкцию по установке]]. Если же видео, пролистайте ниже до секции "Видео инструкции". Учитывайте, что для десктопной установки, вам потребуется как минимум 30 GiB места на диске, чтобы вместить рабочее окружение (например GNOME, KDE, или XFCE), браузеры (например Firefox), и другие графические утилиты (такие как VSCode), что вполне разумно для повседневного использования. Для минимальной установки, вероятно, хватит и 15 Gib.
Процесс в настройке вашей конфигурации описан в документе {{NixOS Manual|name=NixOS official manual|anchor=#ch-configuration}}.


<span id="Video_guide"></span>
<span id="System_Configuration"></span>
=== Видео инструкции ===
=== Систеиная конфигурация ===


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


<span id="Managing_your_configuration"></span>
Онсновным конфигурационным файлом яляется <code>/etc/nixos/configuration.nix</code>, который определяет общие и основные системные настройки. Такие как: активация сервисов, управлением системы пользователей, установки системных настроек, и установки указанных пакетов. Изменения можно увидеть с помощью комманды:
== Управление своей конфигурацией ==
 
<syntaxhighlight lang="console">
# nixos-rebuild switch
</syntaxhighlight>


Вы можете управлять всей конфигурацией, используя методы, описанные в [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]]
<span id="User_configuration_with_Home_Manager"></span>
=== Пользовательская конфигурация с Home Manager ===


<span id="Video_guide"></span>
Для настройки пользовательских конфигураций, таких как, настройка приложений, коммандных утилит, и dot-файлов, [[Home Manager]] обеспечивает удобный и декларотивный подход. Он позволяет пользователям вписывать какие программы будут устновленны и как настроены, без нужды включать их в общую систему [https://nixos.org/manual/nixos/stable/#sec-changing-config configuration.nix].
=== Видео инструкции ===


<div lang="en" dir="ltr" class="mw-content-ltr">
Home Manager работает независимо от системной концигурации (configuration.nix). Помимо традиционных настроек Home Manager поддерживает новый способ конфигурации, с помощью [[Flakes]].
Wil T's guides are about an even mix of:
# Hands-on bootstrapping to get to being able to very capably manage your system using Home Manager, git versioning, and eventually Flakes.
# Conceptual overviews and general exposition of the Nix ecosystem, community, and available resources.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="With_Flakes"></span>
The [[Wil_T_Nix_Guides#NixOS_Installation_Guide|second video]], starting from about 27 minutes in, is also an introduction to and guide to setting up Home Manager.
=== С помощью Flakes ===
</div>


<span id="Modularizing_your_configuration"></span>
Для пользователей, которые ищут более простой и воспроизводимый способ управления конфигурациями NixOS, в сообществе набирает популярность функция [[Flakes]]. Хотя Flakes предлагает несколько новых концепций по сравнению с традиционными рабочими процессами, многие пользователи находят их удобным и организованным подходом к управлению конфигурациями системы и разработки.
== Модульная конфигурация ==


<span id="With_NixOS_Modules"></span>
Смотрите [[NixOS system configuration#Defining NixOS as a flake]] для подробного понимания в начале.
=== С помощью модулей NixOS ===


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
configuration.nix is an instance of a [[NixOS modules|NixOS module]], which makes it easy to break your configuration into several files. Modules can:
== Beyond initial setup ==
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
* Import other modules
Once your basic NixOS installation is complete and functional, you can further customize your system with a variety of optional configurations tailored for desktop use. For a list of recommended initial system configurations, see [[NixOS Installation Guide#NixOS configuration]].
* Declare new options
* Provide values for options (this is what most of your default configuration.nix does)
* Reference option values from other modules (via the <code>config</code> attribute passed to all modules)
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
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 <code>builtins.fetchTarball</code>. See the [[NixOS modules|wiki page]] or the [https://nixos.org/manual/nixos/stable/#sec-writing-modules NixOS manual] for more information.
Common configuration areas include:
</div>
</div>


<span id="With_Flakes"></span>
<span id="Desktop_Environments"></span>
=== С помощью Flakes ===
==== Рабочие Окружения ====
 
Установка и настройка полнофункциональных рабочих окружений таких как [[GNOME]], [[KDE Plasma]], или [[Xfce]].
 
Смотрите полный список [[:Category:Desktop environment]].
 
<span id="Window_Managers"></span>
==== Оконные Менеджеры ====


<div lang="en" dir="ltr" class="mw-content-ltr">
Устновка легковесных или тайловых оконных менеджеров по типу [[i3]], [[Sway]], [[Hyprland]] или [[xmonad]].
If you want a more composable<sup>[citation needed]</sup> 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.
</div>


<span id="Video_guide"></span>
Полный список [[:Category:Window managers]]
==== Видеопособие ====


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Videos [[Wil_T_Nix_Guides#Intro_to_Flakes|seven]] and [[Wil_T_Nix_Guides#Moving_NixOS_System_Configuration_into_a_Flake|eight]] of Wil T's original 8-part series are a good overview of what Flakes enable and how to get started with them.
==== Display Managers (Login Managers) ====
</div>
</div>  


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
== Beyond initial setup ==
Configure graphical session managers such as [[Gnome|GDM]], [[KDE|SDDM]], or [[LightDM]].
</div>
</div>
<span id="Audio_Setup"></span>
==== Настройка звука ====
Активация и настройка звка [[:Category:Audio|audio]] таких как [[PipeWire]], [[PulseAudio]] или [[ALSA]].
<span id="Network_Management"></span>
==== Настройка Сети ====
Используйте истумены такие как [[NetworkManager]] или [[systemd-networkd]] для настройки сети [[Networking|network]]
<span id="Bluetooth_Support"></span>
==== Поддержка Bluetooth ====
Настройте [[Bluetooth]] с помощью blueman или других похожих утилит.


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
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.
==== Power Management ====
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Настройте [[laptop]] [[Power Management|battery management]], сон, и гибернацию с такими инструментами как [[Laptop#tlp|tlp]] или [[systemd]] сервисом.
=== Learn by example ===
 
</div>
<span id="Printing_and_Scanning"></span>
==== Печать и скан ====  
 
Включите [[Cups]] для поддержки принтера и инструментов типа Sane для [[Scanners|сканеров]].
 
<span id="Tips_and_tricks"></span>
== Советы и рекомендации ==


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Modularizing_your_configuration_with_modules"></span>
If you are comfortable managing your system through a git repo using flakes, then there are many repositories you can learn from now!
=== Модулизация вашей конфигурации с помощью модулей ===
</div>  


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Check out [[Comparison of NixOS setups]] for a table comparing some popular choices.
{{main|NixOS system configuration#Modularizing your configuration with modules}}
</div>
</div>
<span id="See_also"></span>
== См. Также ==


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Configuration Collection]] for a long list within the wiki.
* [[Overview of the NixOS Linux distribution]]
* [[Comparison of NixOS setups]] for a table comparing some popular choices.
* [[Configuration Collection]] for a long list within the wiki.
* [https://github.com/topics/nix-flake nix-flake], [https://github.com/topics/nixos-configuration nixos-configuration], [https://github.com/topics/nixos-dotfiles nixos-dotfiles] Github topics
* [[Wil T Nix Guides]] Youtube video format guide
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Additionally, the following topic searches on Github should uncover many useful examples.
* [https://github.com/topics/nix-flake nix-flake]
* [https://github.com/topics/nixos-configuration nixos-configuration]
* [https://github.com/topics/nixos-dotfiles nixos-dotfiles]
</div>
[[Category:Desktop]]
[[Category:Desktop]]
[[Category:Guide]]
[[Category:Guide]]
[[Category:NixOS]]
</div>