NixOS as a desktop/zh: Difference between revisions
Created page with "桌面设备上的NixOS" |
No edit summary |
||
(29 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
NixOS可以用于许多目的. 如果你想把它用作你的日常主要桌面操作系统(在实体机上或者作为副虚拟机), 那么你应该看看这个页面. 即使你是想把NixOS用在云端或者是经过特殊配置的服务器上, 你也可能会想从这里概述的课程开始, 以便从整体上对Nix生态有更好的了解. | |||
NixOS | |||
< | <span id="Installation"></span> | ||
== | == 安装 == | ||
< | <span id="Wiki_method"></span> | ||
=== Wiki | === Wiki上的方法 === | ||
如果你倾向于阅读, 请从[[NixOS Installation Guide|NixOS安装指南]]开始. 如果你想选择一个精良的视频教程, 请见下一条. 请记住, 为了安装一个桌面, 你需要确定一开始有至少30GiB的可用硬盘空间来容纳桌面环境(比如说, GNOME, KDE, 或者是XFCE), 浏览器(比如Firefox), 以及其他带有图形界面的典型日用软件(如VSCode). 对于相对简陋的配置, 15GiB可能够用. | |||
< | <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> | ||
== | == 管理你的配置 == | ||
你可以使用[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]]. | |||
< | <span id="Video_guide"></span> | ||
=== | === 视频指南 === | ||
Wil T的指南是下列内容的均衡组合: | |||
Wil T | # 动手实践的引导, 让你逐步学会使用Home Manager, git版本控制,以及最后的Flakes来掌握你的系统 | ||
# | # Nix生态, 社区, 以及可用资源的概念总览和总体介绍 | ||
# | |||
其中[[Wil_T_Nix_Guides#NixOS_Installation_Guide|第二个视频]], 从大概27分钟开始, 也是对Home Manager的介绍和设置指南. | |||
< | <span id="Modularizing_your_configuration"></span> | ||
== | == 模块化你的配置 == | ||
< | <span id="With_NixOS_Modules"></span> | ||
=== | === 通过NixOS模块 === | ||
configuration.nix是[[NixOS modules|NixOS模块]]的一个实例, 因此把你的配置分开放入若干文件中很容易. | |||
configuration.nix | 模块可以: | ||
* 导入其他模块 | |||
* | * 声明新的选项 | ||
* | * 为选项设定值(这就是你的默认configuration.nix主要做的事情) | ||
* | * 从其他模块引用选项的值(通过传给所有模块的<code>config</code>属性) | ||
* | |||
只要你为任何你想在模块之间共享的值声明了选项, 你就可以按照你的喜好, 把你的配置分开放入文件, 这些文件直接地或间接地从你的根文件configuration.nix导入. 你也可以使用<code>builtins.fetchTarball</code>这样的函数从远程源导入模块. 查看[[NixOS modules|wiki页面]]或者[https://nixos.org/manual/nixos/stable/#sec-writing-modules NixOS手册]来获取更多信息. | |||
< | <span id="With_Flakes"></span> | ||
=== | === 通过Flakes === | ||
如果你想要可组合性<sup>[citation needed]</sup>更强的NixOS配置设定, 仍在实验阶段的[[Flakes]]特性正在使社区感到十分兴奋. 管理flakes需要对Nix生态有良好的基本理解和一些已有的实践经验. | |||
< | <span id="Video_guide"></span> | ||
==== | ==== 视频指南 ==== | ||
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> | ||
== | == 在初始设置之外 == | ||
在你熟悉了Nix生态并安装了一个功能性的NixOS桌面后, 你可能会想了解定制化和更细化的设置. | |||
< | <span id="Learn_by_example"></span> | ||
=== | === 通过示例来学习 === | ||
如果你喜欢使用flakes通过一个git仓库来管理你的系统, 那么现在就有很多可供你学习的仓库! | |||
在[[Comparison of NixOS setups|对NixOS设置的比较]]中可查看一个对常见选择进行比较的表格. | |||
在[[Configuration Collection|配置集合]]中可看到wiki内部的一个长列表. | |||
此外, 在Github上进行如下的主题搜索应该可以发现许多有用的示例. | |||
* nix-flake | |||
* | * nixos-configuration | ||
* | * nixos-dotfiles | ||
* | |||
[[Category:Desktop]] | [[Category:Desktop]] | ||
[[Category:Guide]] | [[Category:Guide]] |
Latest revision as of 12:17, 25 February 2025
NixOS可以用于许多目的. 如果你想把它用作你的日常主要桌面操作系统(在实体机上或者作为副虚拟机), 那么你应该看看这个页面. 即使你是想把NixOS用在云端或者是经过特殊配置的服务器上, 你也可能会想从这里概述的课程开始, 以便从整体上对Nix生态有更好的了解.
安装
Wiki上的方法
如果你倾向于阅读, 请从NixOS安装指南开始. 如果你想选择一个精良的视频教程, 请见下一条. 请记住, 为了安装一个桌面, 你需要确定一开始有至少30GiB的可用硬盘空间来容纳桌面环境(比如说, GNOME, KDE, 或者是XFCE), 浏览器(比如Firefox), 以及其他带有图形界面的典型日用软件(如VSCode). 对于相对简陋的配置, 15GiB可能够用.
视频指南
如果想要一个可视化指南, 请看Wil T Nix Guides. 其中第二个视频是一个简洁的安装指南. 这个8期视频系列于2021年初制作, 也涵盖了从把NixOS用作桌面到根据你的喜好来配置它的所有基本内容.
管理你的配置
你可以使用NixOS官方手册中记录的方式来管理你的所有配置. 然而, 大部分在桌面上使用NixOS的社区成员更喜欢使用Home Manager来管理他们的配置(比如"点文件")(citation needed). Home Manager是一个面向用户的工具, 用于声明你想安装什么, 以及你想如何配置它. 对于大部分设置, 如果你不使用Home Manager的话, 你就要把它们放入configuration.nix, 或者使用nix-env.
视频指南
Wil T的指南是下列内容的均衡组合:
- 动手实践的引导, 让你逐步学会使用Home Manager, git版本控制,以及最后的Flakes来掌握你的系统
- Nix生态, 社区, 以及可用资源的概念总览和总体介绍
其中第二个视频, 从大概27分钟开始, 也是对Home Manager的介绍和设置指南.
模块化你的配置
通过NixOS模块
configuration.nix是NixOS模块的一个实例, 因此把你的配置分开放入若干文件中很容易. 模块可以:
- 导入其他模块
- 声明新的选项
- 为选项设定值(这就是你的默认configuration.nix主要做的事情)
- 从其他模块引用选项的值(通过传给所有模块的
config
属性)
只要你为任何你想在模块之间共享的值声明了选项, 你就可以按照你的喜好, 把你的配置分开放入文件, 这些文件直接地或间接地从你的根文件configuration.nix导入. 你也可以使用builtins.fetchTarball
这样的函数从远程源导入模块. 查看wiki页面或者NixOS手册来获取更多信息.
通过Flakes
如果你想要可组合性[citation needed]更强的NixOS配置设定, 仍在实验阶段的Flakes特性正在使社区感到十分兴奋. 管理flakes需要对Nix生态有良好的基本理解和一些已有的实践经验.
视频指南
Wil T的原始8期视频系列的第七集和第八集是对Flakes能做什么以及如何上手Flakes的很好的总览.
在初始设置之外
在你熟悉了Nix生态并安装了一个功能性的NixOS桌面后, 你可能会想了解定制化和更细化的设置.
通过示例来学习
如果你喜欢使用flakes通过一个git仓库来管理你的系统, 那么现在就有很多可供你学习的仓库!
在对NixOS设置的比较中可查看一个对常见选择进行比较的表格.
在配置集合中可看到wiki内部的一个长列表.
此外, 在Github上进行如下的主题搜索应该可以发现许多有用的示例.
- nix-flake
- nixos-configuration
- nixos-dotfiles