自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

NixOS 系列 #5:如何在 NixOS 上設置家庭管理員?

系統(tǒng) Linux
在本指南中,我將指導你如何在 NixOS 上設置一個家庭管理員,以及如何使用它來安裝軟件包。

在發(fā)表這篇文章之前,我解釋了如何為一個單用戶系統(tǒng) ??在 NixOS 中安裝和刪除軟件包??。

但是,如果你正在供多個用戶使用,有一個很好的方法來分別滿足每個用戶的需求。

在本指南中,我將指導你如何在 NixOS 上設置一個家庭管理員,以及如何使用它來安裝軟件包。

如果你是新讀者,本系列中討論的一些資源包括:

在 NixOS 上設置家庭管理員

在本指南中,我將指導你通過 2 種方式來設置家庭管理員:

  • 獨立的家庭管理員(使用單獨的配置文件)
  • 作為一個 NixOS 模塊(在 ??configuration.nix?? 文件中使用它)

那么,讓我們從獨立方式開始。

獨立安裝的家庭管理員

如果你使用的是 NixOS 的穩(wěn)定頻道,你可以使用以下命令來配置家庭管理器:

nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager

在編寫本指南時,穩(wěn)定版是 ??22.11??。

而 如果你在一個不穩(wěn)定的頻道上,請使用以下命令:

nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager

無論你使用穩(wěn)定版還是不穩(wěn)定版,下面的步驟都是一樣的。

一旦完成,更新頻道:

nix-channel --update

最后,使用下面的命令來安裝家庭管理員:

nix-shell '<home-manager>' -A install

??? 在安裝時,可能會出現(xiàn)以下錯誤:

安裝家庭管理員時出現(xiàn)構建錯誤

安裝家庭管理員時出現(xiàn)構建錯誤

重新啟動你的系統(tǒng)并再次使用安裝命令,它將開始安裝。

一旦完成,它將顯示獨立安裝的家庭管理員的位置:

家庭管理器在NixOS中的位置

家庭管理器在NixOS中的位置

將家庭管理員安裝為 NixOS 模塊

?? 如果你選擇將家庭管理員作為 NixOS 模塊使用,你將需要 sudo 權限。

如果你在一個穩(wěn)定的頻道上(在寫本文的時候,是 ??22.11??),你可以使用下面的命令來添加家庭管理員的穩(wěn)定頻道:

sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager

而 如果你使用的是不穩(wěn)定通道或主通道,則使用以下命令:

sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager

一旦你使用上面的任何一條命令完成了添加頻道的工作,就用下面的方法更新頻道:

sudo nix-channel --update

接下來,用以下方法打開 ??configuration.nix?? 文件:

sudo nano /etc/nixos/configuration.nix

并在 ??imports []?? 中添加以下一行:

<home-manager/nixos>

將家庭管理員安裝為 NixOS 模塊

將家庭管理員安裝為 NixOS 模塊

現(xiàn)在,跳到該行的末尾,在 ??}?? 前添加以下內(nèi)容:

home-manager.users.{username} = { pkgs, ... }: {
home.packages = [ ] ;
};

NixOS 配置文件中的家庭管理員模塊的格式

NixOS 配置文件中的家庭管理員模塊的格式

上面這一行是為了方便安裝和刪除軟件包而添加的,我接下來會告訴你。

現(xiàn)在,??保存修改并退出 Nano?? 文本編輯器。

接下來,重建配置,并做一個切換:

sudo nixos-rebuild switch

但如果你使用的是穩(wěn)定版,并使用上述命令,就會出現(xiàn)以下錯誤:

??? 錯誤: 選項 ??home-manager.users.user.home.stateVersion?? 被使用但沒有定義:

錯誤: 選項  已被使用但未被定義。

錯誤: 選項 已被使用但未被定義。

要解決這個問題,你必須在你的家庭管理器塊中添加 ??home.stateVersion??。

在寫這篇文章時,我正在運行 22.11,所以整個家庭管理員塊看起來像這樣:

home-manager.users.{username} = { pkgs, ... }: {
home.stateVersion = "22.11";
home.packages = [ ] ;
};

如何解決  選項被使用但沒有定義。

如何解決 選項被使用但沒有定義。

保存修改,按 ??Ctrl+O??,按回車鍵和 ??Ctrl+X?? 退出 Nano 文本編輯器。

現(xiàn)在,試著重建配置并再次進行切換,應該可以解決問題。

如何在 NixOS 上使用家庭管理員安裝軟件包

現(xiàn)在你已經(jīng)安裝了家庭管理員,如何用它來安裝軟件包:

使用獨立安裝的家庭管理員

首先,用下面的方法打開配置文件:

nano /home/$USER/.config/nixpkgs/home.nix

跳到行末,在 ??}?? 前添加以下代碼塊:

home.packages = [];

現(xiàn)在,你所要做的就是在這兩個大括號之間寫上軟件包的名稱。

例如,如果我想安裝 ??htop??,我將得輸入以下內(nèi)容:

home.packages = [pkgs.htop];

是的,你通常要在軟件包的名稱后面加上 ??pkgs.??。

但是,如果你想在每次安裝新包時不使用 ??pkgs.??,可以改變代碼塊的語法,如圖所示:

home.packages = with pkgs; [];

而現(xiàn)在,你不再需要在每次安裝時使用 ??pkgs.??:

home.packages = with pkgs; [htop];

例如,在這里,我想安裝 ??htop??、??firefox??和 ??libreoffice??,所以我的 ??home?? 塊會看起來像這樣:

在 NixOS 上使用家庭管理員安裝多個軟件包

在 NixOS 上使用家庭管理員安裝多個軟件包

一旦你完成了添加你喜歡的軟件包,保存配置文件并使用以下命令來安裝軟件包:

home-manager switch

使用 NixOS 模塊方式

首先,用以下命令打開 ??configuration.nix?? 文件:

sudo nano /etc/nixos/configuration.nix

在配置部分,我已經(jīng)添加了家庭管理員塊,所以剩下的就是在 ??home.packages = [ ];?? 里面添加軟件包的名稱,格式如圖所示:

home.packages = [ pkgs.package_name ] ;

??我已經(jīng)在上節(jié)提到軟件包名稱前你可以使用 ??pkgs.?? 。

例如,如果我想 ??安裝 htop??、Firefox 和 LibreOffice,那么我將添加:

pkgs.htop pkgs.firefox pkgs.libreoffice

然后我的家庭管理員塊會看起來像這樣:

作為 NixOS 模塊在家庭管理員中安裝多個軟件包

作為 NixOS 模塊在家庭管理員中安裝多個軟件包

現(xiàn)在,保存修改并退出文本編輯器。

接下來,重建配置并使用以下命令進行切換:

sudo nixos-rebuild switch

這是這樣!軟件包將很快被安裝。

這就結束了

我認為你應該選擇獨立安裝,因為你不需要使用超級用戶的權限。另外,如果你運行一個有多個用戶的系統(tǒng),為不同的用戶擁有不同的配置文件是相當方便的。

因此,除非你想用一個文件來實現(xiàn)各種目的,否則我認為沒有其他理由使用模塊選項。

就這樣,我結束了 NixOS 的初學者系列。我希望它能給你一個足夠好的平臺來熟悉這個獨特的 Linux 發(fā)行版。

?? 你喜歡 NixOS 系列文章嗎?對于 NixOS 的初學者,我們還有什么要介紹的嗎?請?zhí)峁┠愕膶氋F意見。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2023-03-14 16:40:17

2023-03-27 09:16:59

NixOSLinux

2023-03-08 15:51:06

NixOS

2023-03-21 12:57:16

NixOS軟件包

2022-04-26 09:28:57

OpenBSDNixOSLinux 發(fā)行版

2017-10-19 09:28:34

LinuxNixOS安裝

2014-02-28 10:08:52

密碼策略系統(tǒng)管理員

2022-04-26 09:16:35

Linux照片掃描

2011-02-16 14:36:58

VMwareXenServer

2014-04-24 09:51:47

Linux管理員ACL集體權限

2019-11-20 10:45:02

Windows 10Windows管理員帳戶

2018-12-21 19:30:28

Windows 10Windows管理員身份

2020-02-10 17:00:46

Linux清理垃圾系統(tǒng)管理員系統(tǒng)管理員

2018-12-11 11:00:50

Linux字體命令

2019-07-17 17:00:29

數(shù)據(jù)庫數(shù)據(jù)庫管理員DBA

2018-06-11 09:55:09

LinuxFedorazsh

2019-08-13 16:10:38

UbuntuLinux時間同步

2012-10-23 14:43:15

2009-01-12 09:59:00

網(wǎng)管DHCP網(wǎng)絡管理

2010-06-07 21:01:45

管理員權限GPO
點贊
收藏

51CTO技術棧公眾號