NixOS as a desktop/zh: Difference between revisions
|  Created page with "== 模块化你的配置 ==" | No edit summary | ||
| (22 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| <languages/> | <languages/> | ||
| NixOS | [[Special:MyLanguage/NixOS|NixOS]] 是一款功能多样的操作系统,适用于各种用例。本文面向希望将 NixOS 作为主要桌面环境(无论是在物理硬件还是虚拟机中)的用户。此外,计划在 [[NixOS friendly hosters|云端]] 环境或专用服务器基础架构上部署 NixOS 的用户,可能会发现从这里介绍的概念和实践开始会很有帮助,因为它们为在更广泛的 [[Special:MyLanguage/Nix ecosystem|Nix 生态系统]] 中工作奠定了有益的基础。 | ||
| <span id="Installation"></span> | <span id="Installation"></span> | ||
| == 安装 == | == 安装 == | ||
| < | <div class="mw-translate-fuzzy"> | ||
| 如果你倾向于阅读, 请从[[NixOS Installation Guide|NixOS安装指南]]开始. 如果你想选择一个精良的视频教程, 请见下一条. 请记住, 为了安装一个桌面, 你需要确定一开始有至少30GiB的可用硬盘空间来容纳桌面环境(比如说, GNOME, KDE, 或者是XFCE), 浏览器(比如Firefox), 以及其他带有图形界面的典型日用软件(如VSCode). 对于相对简陋的配置, 15GiB可能够用. | 如果你倾向于阅读, 请从[[NixOS Installation Guide|NixOS安装指南]]开始. 如果你想选择一个精良的视频教程, 请见下一条. 请记住, 为了安装一个桌面, 你需要确定一开始有至少30GiB的可用硬盘空间来容纳桌面环境(比如说, GNOME, KDE, 或者是XFCE), 浏览器(比如Firefox), 以及其他带有图形界面的典型日用软件(如VSCode). 对于相对简陋的配置, 15GiB可能够用. | ||
| </div> | |||
| <span id="Managing_your_configuration"></span> | <span id="Managing_your_configuration"></span> | ||
| == 管理你的配置 == | == 管理你的配置 == | ||
| <div class="mw-translate-fuzzy"> | |||
| 你可以使用[https://nixos.org/manual/nixos/stable/index.html NixOS官方手册]中记录的方式来管理你的所有配置. 然而, 大部分在桌面上使用NixOS的社区成员更喜欢使用[[Home Manager]]来管理他们的配置(比如"点文件")(citation needed). 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]]. | 你可以使用[https://nixos.org/manual/nixos/stable/index.html NixOS官方手册]中记录的方式来管理你的所有配置. 然而, 大部分在桌面上使用NixOS的社区成员更喜欢使用[[Home Manager]]来管理他们的配置(比如"点文件")(citation needed). 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]]. | ||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| The process for managing your configuration is documented in the {{NixOS Manual|name=NixOS official manual|anchor=#ch-configuration}}. | |||
| </div> | |||
| < | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| ===  | === System Configuration === | ||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| {{main|NixOS system configuration}} | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| The primary configuration file, <code>/etc/nixos/configuration.nix</code>, defines system-wide settings. This includes options like enabling services, managing system users, setting hardware options, and specifying installed packages. Changes are applied with: | |||
| </div> | |||
| < | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| <syntaxhighlight lang="console"> | |||
| # nixos-rebuild switch | |||
| </syntaxhighlight> | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| ===  | === User configuration with Home Manager === | ||
| </div> | </div> | ||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| For managing per-user configurations such as application preferences, command-line tools, and dotfiles, [[Home Manager]] provides a convenient, declarative approach. It allows users to define which programs should be installed and how they should be configured, without needing to include those settings in the system-wide [https://nixos.org/manual/nixos/stable/#sec-changing-config configuration.nix]. | |||
| </div> | </div> | ||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Home Manager can be used independently of the system configuration and works with both traditional setups and newer [[Flakes]]-based configurations. | |||
| </div> | |||
| <span id="With_Flakes"></span> | |||
| === 通过Flakes === | |||
| <div class="mw-translate-fuzzy"> | |||
| 如果你想要可组合性<sup>[citation needed]</sup>更强的NixOS配置设定, 仍在实验阶段的[[Flakes]]特性正在使社区感到十分兴奋. 管理flakes需要对Nix生态有良好的基本理解和一些已有的实践经验. | |||
| </div> | </div> | ||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Refer to [[NixOS system configuration#Defining NixOS as a flake]] for details on getting started. | |||
| </div> | |||
| <span id="Beyond_initial_setup"></span> | |||
| == 在初始设置之外 == | |||
| <div class="mw-translate-fuzzy"> | |||
| 在你熟悉了Nix生态并安装了一个功能性的NixOS桌面后, 你可能会想了解定制化和更细化的设置. | |||
| </div> | </div> | ||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Common configuration areas include: | |||
| </div> | </div> | ||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| ==== Desktop Environments ==== | |||
| </div> | </div> | ||
| < | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Install and configure full-featured environments such as [[GNOME]], [[KDE Plasma]], or [[Xfce]]. | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| See [[:Category:Desktop environment]] for a full list. | |||
| </div> | </div> | ||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| ==  | ==== Window Managers ==== | ||
| </div> | </div> | ||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Set up lightweight or tiling window managers like [[i3]], [[Sway]], [[Hyprland]], or [[xmonad]]. | |||
| </div> | </div> | ||
| < | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| See [[:Category:Window managers]] for a full list. | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| ==== Display Managers (Login Managers) ==== | |||
| </div>   | </div>   | ||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Configure graphical session managers such as [[Gnome|GDM]], [[KDE|SDDM]], or [[LightDM]]. | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| ==== Audio Setup ==== | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| Enable and configure [[:Category:Audio|audio]] systems like [[PipeWire]], [[PulseAudio]], or [[ALSA]]. | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| ==== Network Management ==== | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| Use tools such as [[NetworkManager]] or [[systemd-networkd]] for managing [[Networking|network]] connections. | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| ==== Bluetooth Support ==== | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| Set up [[Bluetooth]] with blueman or other management tools. | |||
| </div> | </div> | ||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| ==== Power Management ==== | |||
| </div> | </div> | ||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Configure [[laptop]] [[Power Management|battery management]], suspend, and hibernation with tools like [[Laptop#tlp|tlp]] or [[systemd]] services. | |||
| </div> | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| ==== Printing and Scanning ==== | |||
| </div>  | |||
| <div lang="en" dir="ltr" class="mw-content-ltr"> | |||
| Enable [[Cups]] for printer support and tools like Sane for [[Scanners|scanning]] devices. | |||
| </div> | |||
| <span id="Tips_and_tricks"></span> | |||
| == 提示和技巧 == | |||
| <span id="Modularizing_your_configuration_with_modules"></span> | |||
| === 通过 NixOS 模块机制模块化你的配置 === | |||
| {{main|NixOS system configuration#Modularizing your configuration with modules}} | |||
| <span id="See_also"></span> | |||
| == 另见 == | |||
| <div class="mw-translate-fuzzy"> | |||
| 在[[Comparison of NixOS setups|对NixOS设置的比较]]中可查看一个对常见选择进行比较的表格. | |||
| </div> | </div> | ||
| [[Category:Desktop]] | [[Category:Desktop|分类:桌面]] | ||
| [[Category:Guide]] | [[Category:Guide|分类:指南]] | ||
| [[Category:NixOS|分类:NixOS]] | |||