mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
R
This commit is contained in:
parent
8dda70de70
commit
2bc1b82175
@ -7,14 +7,14 @@
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15697-1.html"
|
||||
|
||||
NixOS 系列 #5:如何在 NixOS 上设置家庭管理员?
|
||||
NixOS 系列 #5:如何在 NixOS 上设置主目录管理器?
|
||||
======
|
||||
|
||||
在发表这篇文章之前,我解释了如何为一个单用户系统 [在 NixOS 中安装和删除软件包][1]。
|
||||
|
||||
但是,如果你正在供多个用户使用,有一个很好的方法来分别满足每个用户的需求。
|
||||
|
||||
在本指南中,我将指导你如何在 NixOS 上设置一个家庭管理员,以及如何使用它来安装软件包。
|
||||
在本指南中,我将指导你如何在 NixOS 上设置一个 <ruby>主目录管理器<rt>Home Manager</rt></ruby>,以及如何使用它来安装软件包。
|
||||
|
||||
如果你是新读者,本系列中讨论的一些资源包括:
|
||||
|
||||
@ -22,16 +22,16 @@ NixOS 系列 #5:如何在 NixOS 上设置家庭管理员?
|
||||
- [在虚拟机上安装 NixOS][3]
|
||||
- [安装 NixOS 后要做的事情][4]
|
||||
|
||||
### 在 NixOS 上设置家庭管理员
|
||||
### 在 NixOS 上设置主目录管理器
|
||||
|
||||
在本指南中,我将指导你通过 2 种方式来设置家庭管理员:
|
||||
在本指南中,我将指导你通过 2 种方式来设置主目录管理器:
|
||||
|
||||
- 独立的家庭管理员(使用单独的配置文件)
|
||||
- 独立的主目录管理器(使用单独的配置文件)
|
||||
- 作为一个 NixOS 模块(在 `configuration.nix` 文件中使用它)
|
||||
|
||||
那么,让我们从独立方式开始。
|
||||
|
||||
#### 独立安装的家庭管理员
|
||||
#### 独立安装的主目录管理器
|
||||
|
||||
如果你使用的是 NixOS 的稳定频道,你可以使用以下命令来配置家庭管理器:
|
||||
|
||||
@ -55,7 +55,7 @@ nix-channel --add https://github.com/nix-community/home-manager/archive/master.t
|
||||
nix-channel --update
|
||||
```
|
||||
|
||||
最后,使用下面的命令来安装家庭管理员:
|
||||
最后,使用下面的命令来安装主目录管理器:
|
||||
|
||||
```
|
||||
nix-shell '<home-manager>' -A install
|
||||
@ -63,19 +63,19 @@ nix-shell '<home-manager>' -A install
|
||||
|
||||
🛠️ 在安装时,可能会出现以下错误:
|
||||
|
||||
![安装家庭管理员时出现构建错误][5]
|
||||
![安装主目录管理器时出现构建错误][5]
|
||||
|
||||
重新启动你的系统并再次使用安装命令,它将开始安装。
|
||||
|
||||
一旦完成,它将显示独立安装的家庭管理员的位置:
|
||||
一旦完成,它将显示独立安装的主目录管理器的位置:
|
||||
|
||||
![家庭管理员在NixOS中的位置][6]
|
||||
![主目录管理器在NixOS中的位置][6]
|
||||
|
||||
#### 将家庭管理员安装为 NixOS 模块
|
||||
#### 将主目录管理器安装为 NixOS 模块
|
||||
|
||||
> ⚠️ 如果你选择将家庭管理员作为 NixOS 模块使用,你将需要 sudo 权限。
|
||||
> ⚠️ 如果你选择将主目录管理器作为 NixOS 模块使用,你将需要 sudo 权限。
|
||||
|
||||
如果你在一个稳定的频道上(在写本文的时候,是 `22.11`),你可以使用下面的命令来添加家庭管理员的稳定频道:
|
||||
如果你在一个稳定的频道上(在写本文的时候,是 `22.11`),你可以使用下面的命令来添加主目录管理器的稳定频道:
|
||||
|
||||
```
|
||||
sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager
|
||||
@ -105,7 +105,7 @@ sudo nano /etc/nixos/configuration.nix
|
||||
<home-manager/nixos>
|
||||
```
|
||||
|
||||
![将家庭管理员安装为 NixOS 模块][7]
|
||||
![将主目录管理器安装为 NixOS 模块][7]
|
||||
|
||||
现在,跳到该行的末尾,在 `}` 前添加以下内容:
|
||||
|
||||
@ -115,7 +115,7 @@ home-manager.users.{username} = { pkgs, ... }: {
|
||||
};
|
||||
```
|
||||
|
||||
![NixOS 配置文件中的家庭管理员模块的格式][8]
|
||||
![NixOS 配置文件中的主目录管理器模块的格式][8]
|
||||
|
||||
上面这一行是为了方便安装和删除软件包而添加的,我接下来会告诉你。
|
||||
|
||||
@ -135,7 +135,7 @@ sudo nixos-rebuild switch
|
||||
|
||||
要解决这个问题,你必须在你的家庭管理器块中添加 `home.stateVersion`。
|
||||
|
||||
在写这篇文章时,我正在运行 22.11,所以整个家庭管理员块看起来像这样:
|
||||
在写这篇文章时,我正在运行 22.11,所以整个主目录管理器块看起来像这样:
|
||||
|
||||
```
|
||||
home-manager.users.{username} = { pkgs, ... }: {
|
||||
@ -150,11 +150,11 @@ home-manager.users.{username} = { pkgs, ... }: {
|
||||
|
||||
现在,试着重建配置并再次进行切换,应该可以解决问题。
|
||||
|
||||
### 如何在 NixOS 上使用家庭管理员安装软件包
|
||||
### 如何在 NixOS 上使用主目录管理器安装软件包
|
||||
|
||||
现在你已经安装了家庭管理员,如何用它来安装软件包:
|
||||
现在你已经安装了主目录管理器,如何用它来安装软件包:
|
||||
|
||||
#### 使用独立安装的家庭管理员
|
||||
#### 使用独立安装的主目录管理器
|
||||
|
||||
首先,用下面的方法打开配置文件:
|
||||
|
||||
@ -192,7 +192,7 @@ home.packages = with pkgs; [htop];
|
||||
|
||||
例如,在这里,我想安装 `htop`、`firefox`和 `libreoffice`,所以我的 `home` 块会看起来像这样:
|
||||
|
||||
![在 NixOS 上使用家庭管理员安装多个软件包][12]
|
||||
![在 NixOS 上使用主目录管理器安装多个软件包][12]
|
||||
|
||||
一旦你完成了添加你喜欢的软件包,保存配置文件并使用以下命令来安装软件包:
|
||||
|
||||
@ -208,7 +208,7 @@ home-manager switch
|
||||
sudo nano /etc/nixos/configuration.nix
|
||||
```
|
||||
|
||||
在配置部分,我已经添加了家庭管理员块,所以剩下的就是在 `home.packages = [ ];` 里面添加软件包的名称,格式如图所示:
|
||||
在配置部分,我已经添加了主目录管理器块,所以剩下的就是在 `home.packages = [ ];` 里面添加软件包的名称,格式如图所示:
|
||||
|
||||
```
|
||||
home.packages = [ pkgs.package_name ] ;
|
||||
@ -222,9 +222,9 @@ home.packages = [ pkgs.package_name ] ;
|
||||
pkgs.htop pkgs.firefox pkgs.libreoffice
|
||||
```
|
||||
|
||||
然后我的家庭管理员块会看起来像这样:
|
||||
然后我的主目录管理器块会看起来像这样:
|
||||
|
||||
![作为 NixOS 模块在家庭管理员中安装多个软件包][14]
|
||||
![作为 NixOS 模块在主目录管理器中安装多个软件包][14]
|
||||
|
||||
现在,保存修改并退出文本编辑器。
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user