用於桌面的NixOS

Revision as of 11:40, 25 February 2025 by Mayer (talk | contribs) (Created page with "=== 通过NixOS模块 ===")

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的指南是下列內容的均衡組合:

  1. 動手實踐的引導, 讓你逐步學會使用Home Manager, git版本控制,以及最後的Flakes來掌握你的系統
  2. Nix生態, 社區, 以及可用資源的概念總覽和總體介紹

其中第二個視頻, 從大概27分鐘開始, 也是對Home Manager的介紹和設置指南.

模塊化你的配置

通過NixOS模塊

configuration.nix是NixOS模塊的一個實例, 因此把你的配置分開放入若干文件中很容易. 模塊可以:

  • 導入其他模塊
  • 聲明新的選項
  • 為選項設定值(這就是你的默認configuration.nix主要做的事情)
  • 從其他模塊引用選項的值(通過傳給所有模塊的config屬性)

只要你為任何你想在模塊之間共享的值聲明了選項, 你就可以按照你的喜好, 把你的配置分開放入文件, 這些文件直接地或間接地從你的根文件configuration.nix導入. 你也可以使用builtins.fetchTarball這樣的函數從遠程源導入模塊. 查看wiki頁面或者NixOS手冊來獲取更多信息.

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

通過示例來學習

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.