Jump to content

用於桌面的NixOS

From NixOS Wiki
This page is a translated version of the page NixOS as a desktop and the translation is 100% complete.

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手冊來獲取更多信息.

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