用於桌面的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的指南是下列內容的均衡組合:
- 動手實踐的引導, 讓你逐步學會使用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