Jump to content

NixOS as a desktop/zh: Difference between revisions

From NixOS Wiki
Mayer (talk | contribs)
No edit summary
FuzzyBot (talk | contribs)
Updating to match new version of source page
Tags: Mobile edit Mobile web edit
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
NixOS可以用于许多目的. 如果你想把它用作你的日常主要桌面操作系统(在实体机上或者作为副虚拟机), 那么你应该看看这个页面. 即使你是想把NixOS用在云端或者是经过特殊配置的服务器上, 你也可能会想从这里概述的课程开始, 以便从整体上对Nix生态有更好的了解.
NixOS可以用于许多目的. 如果你想把它用作你的日常主要桌面操作系统(在实体机上或者作为副虚拟机), 那么你应该看看这个页面. 即使你是想把NixOS用在云端或者是经过特殊配置的服务器上, 你也可能会想从这里概述的课程开始, 以便从整体上对Nix生态有更好的了解.
</div>


<span id="Installation"></span>
<span id="Installation"></span>
== 安装 ==
== 安装 ==


<span id="Wiki_method"></span>
<div class="mw-translate-fuzzy">
=== Wiki上的方法 ===
 
如果你倾向于阅读, 请从[[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="Video_guide"></span>
=== 视频指南 ===
 
如果想要一个可视化指南, 请看[[Wil T Nix Guides]]. 其中[[Wil_T_Nix_Guides#NixOS_Installation_Guide|第二个视频]]是一个简洁的安装指南. 这个8期视频系列于2021年初制作, 也涵盖了从把NixOS用作桌面到根据你的喜好来配置它的所有基本内容.


<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>


<span id="Video_guide"></span>
<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>


Wil T的指南是下列内容的均衡组合:
<div lang="en" dir="ltr" class="mw-content-ltr">
# 动手实践的引导, 让你逐步学会使用Home Manager, git版本控制,以及最后的Flakes来掌握你的系统
=== System Configuration ===
# Nix生态, 社区, 以及可用资源的概念总览和总体介绍
</div>


其中[[Wil_T_Nix_Guides#NixOS_Installation_Guide|第二个视频]], 从大概27分钟开始, 也是对Home Manager的介绍和设置指南.
<div lang="en" dir="ltr" class="mw-content-ltr">
{{main|NixOS system configuration}}
</div>


<span id="Modularizing_your_configuration"></span>
<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>


<span id="With_NixOS_Modules"></span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== 通过NixOS模块 ===
<syntaxhighlight lang="console">
# nixos-rebuild switch
</syntaxhighlight>
</div>


configuration.nix是[[NixOS modules|NixOS模块]]的一个实例, 因此把你的配置分开放入若干文件中很容易.
<div lang="en" dir="ltr" class="mw-content-ltr">
模块可以:
=== User configuration with Home Manager ===
</div>


* 导入其他模块
<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].
* 为选项设定值(这就是你的默认configuration.nix主要做的事情)
</div>
* 从其他模块引用选项的值(通过传给所有模块的<code>config</code>属性)


只要你为任何你想在模块之间共享的值声明了选项, 你就可以按照你的喜好, 把你的配置分开放入文件, 这些文件直接地或间接地从你的根文件configuration.nix导入. 你也可以使用<code>builtins.fetchTarball</code>这样的函数从远程源导入模块. 查看[[NixOS modules|wiki页面]]或者[https://nixos.org/manual/nixos/stable/#sec-writing-modules NixOS手册]来获取更多信息.
<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>
<span id="With_Flakes"></span>
=== 通过Flakes ===
=== 通过Flakes ===


<div class="mw-translate-fuzzy">
如果你想要可组合性<sup>[citation needed]</sup>更强的NixOS配置设定, 仍在实验阶段的[[Flakes]]特性正在使社区感到十分兴奋. 管理flakes需要对Nix生态有良好的基本理解和一些已有的实践经验.
如果你想要可组合性<sup>[citation needed]</sup>更强的NixOS配置设定, 仍在实验阶段的[[Flakes]]特性正在使社区感到十分兴奋. 管理flakes需要对Nix生态有良好的基本理解和一些已有的实践经验.
</div>


<span id="Video_guide"></span>
<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>
Wil T的原始8期视频系列的[[Wil_T_Nix_Guides#Intro_to_Flakes|第七集]]和[[Wil_T_Nix_Guides#Moving_NixOS_System_Configuration_into_a_Flake|第八集]]是对Flakes能做什么以及如何上手Flakes的很好的总览.


<span id="Beyond_initial_setup"></span>
<span id="Beyond_initial_setup"></span>
== 在初始设置之外 ==
== 在初始设置之外 ==


<div class="mw-translate-fuzzy">
在你熟悉了Nix生态并安装了一个功能性的NixOS桌面后, 你可能会想了解定制化和更细化的设置.
在你熟悉了Nix生态并安装了一个功能性的NixOS桌面后, 你可能会想了解定制化和更细化的设置.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Common configuration areas include:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
==== Desktop Environments ====
</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">
See [[:Category:Desktop environment]] for a full list.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
==== Window Managers ====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Set up lightweight or tiling window managers like [[i3]], [[Sway]], [[Hyprland]], or [[xmonad]].
</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">
==== Display Managers (Login Managers) ====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Configure graphical session managers such as [[Gnome|GDM]], [[KDE|SDDM]], or [[LightDM]].
</div>


<span id="Learn_by_example"></span>
<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 lang="en" dir="ltr" class="mw-content-ltr">
==== Power Management ====
</div>
 
<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>
<div class="mw-translate-fuzzy">
== 模块化你的配置 ==
</div>


如果你喜欢使用flakes过一个git仓库来管理你的系统, 那么现在就有很多可供你学习的仓库!
<span id="Modularizing_your_configuration_with_modules"></span>
<div class="mw-translate-fuzzy">
=== 过NixOS模块 ===
</div>


在[[Comparison of NixOS setups|对NixOS设置的比较]]中可查看一个对常见选择进行比较的表格.
<div lang="en" dir="ltr" class="mw-content-ltr">
{{main|NixOS system configuration#Modularizing your configuration with modules}}
</div>


在[[Configuration Collection|配置集合]]中可看到wiki内部的一个长列表.
<span id="See_also"></span>
<div class="mw-translate-fuzzy">
=== 通过示例来学习 ===
</div>


此外, 在Github上进行如下主题搜索应该可以发现许多有用的示例.
<div class="mw-translate-fuzzy">
* nix-flake
在[[Comparison of NixOS setups|对NixOS设置的比较]]中可查看一个对常见选择进行比较表格.
* nixos-configuration
</div>
* nixos-dotfiles


<div lang="en" dir="ltr" class="mw-content-ltr">
[[Category:Desktop]]
[[Category:Desktop]]
[[Category:Guide]]
[[Category:Guide]]
[[Category:NixOS]]
</div>

Revision as of 21:06, 7 October 2025

NixOS可以用於許多目的. 如果你想把它用作你的日常主要桌面操作系統(在實體機上或者作為副虛擬機), 那麼你應該看看這個頁面. 即使你是想把NixOS用在雲端或者是經過特殊配置的服務器上, 你也可能會想從這裡概述的課程開始, 以便從整體上對Nix生態有更好的了解.

安裝

如果你傾向於閱讀, 請從NixOS安裝指南開始. 如果你想選擇一個精良的視頻教程, 請見下一條. 請記住, 為了安裝一個桌面, 你需要確定一開始有至少30GiB的可用硬盤空間來容納桌面環境(比如說, GNOME, KDE, 或者是XFCE), 瀏覽器(比如Firefox), 以及其他帶有圖形界面的典型日用軟件(如VSCode). 對於相對簡陋的配置, 15GiB可能夠用.

管理你的配置

你可以使用NixOS官方手冊中記錄的方式來管理你的所有配置. 然而, 大部分在桌面上使用NixOS的社區成員更喜歡使用Home Manager來管理他們的配置(比如"點文件")(citation needed). Home Manager是一個面向用戶的工具, 用於聲明你想安裝什麼, 以及你想如何配置它. 對於大部分設置, 如果你不使用Home Manager的話, 你就要把它們放入configuration.nix, 或者使用nix-env.

The process for managing your configuration is documented in the NixOS official manual.

System Configuration

The primary configuration file, /etc/nixos/configuration.nix, defines system-wide settings. This includes options like enabling services, managing system users, setting hardware options, and specifying installed packages. Changes are applied with:

# nixos-rebuild switch

User configuration with Home Manager

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 configuration.nix.

Home Manager can be used independently of the system configuration and works with both traditional setups and newer Flakes-based configurations.

通過Flakes

如果你想要可組合性[citation needed]更強的NixOS配置設定, 仍在實驗階段的Flakes特性正在使社區感到十分興奮. 管理flakes需要對Nix生態有良好的基本理解和一些已有的實踐經驗.

Refer to NixOS system configuration#Defining NixOS as a flake for details on getting started.

在初始設置之外

在你熟悉了Nix生態並安裝了一個功能性的NixOS桌面後, 你可能會想了解定製化和更細化的設置.

Common configuration areas include:

Desktop Environments

Install and configure full-featured environments such as GNOME, KDE Plasma, or Xfce.

See Category:Desktop environment for a full list.

Window Managers

Set up lightweight or tiling window managers like i3, Sway, Hyprland, or xmonad.

See Category:Window managers for a full list.

Display Managers (Login Managers)

Configure graphical session managers such as GDM, SDDM, or LightDM.

Audio Setup

Enable and configure audio systems like PipeWire, PulseAudio, or ALSA.

Network Management

Use tools such as NetworkManager or systemd-networkd for managing network connections.

Bluetooth Support

Set up Bluetooth with blueman or other management tools.

Power Management

Configure laptop battery management, suspend, and hibernation with tools like tlp or systemd services.

Printing and Scanning

Enable Cups for printer support and tools like Sane for scanning devices.

模塊化你的配置

通過NixOS模塊

通過示例來學習

對NixOS設置的比較中可查看一個對常見選擇進行比較的表格.