home-manager:基于 Nix 包管理器的用户环境管理项目

Manage a user environment using Nix [maintainer=@khaneliman, @rycee]

Branch47Tags0
FilesLast commitLast update
2 years ago
6 days ago
4 months ago
22 hours ago
11 days ago
2 months ago
13 hours ago
3 months ago
3 months ago
3 months ago
13 hours ago
1 year ago
4 months ago
7 months ago
1 year ago
3 months ago
2 months ago
2 months ago
7 months ago
3 months ago
3 months ago
3 months ago
13 hours ago
6 months ago
1 year ago
13 hours ago
1 month ago
1 month ago
4 months ago
3 months ago
5 months ago
2 months ago
1 year ago

使用 Nix 的 Home Manager

本项目提供了一个基础系统,用于通过 Nix 包管理器以及 Nixpkgs 中的 Nix 库来管理用户环境。它允许以声明式方式配置用户特定(非全局)的软件包和点文件。

使用方法

在尝试使用 Home Manager 之前,请阅读下方的警告信息

有关 Home Manager 及其可用选项的系统概述,请参阅:

如果您希望为 Home Manager 做贡献,请查看手册中的“贡献指南”。

版本发布

Home Manager 是基于 nixpkgs-unstable 分支开发的,这通常意味着它包含了针对尚未在稳定版 NixOS 中发布的变更/软件包的调整。 为避免破坏用户的配置,Home Manager 会按照 NixOS 版本(例如 release-26.05)发布相应的分支。这些分支会获取修复,但通常不会添加新模块。如果您需要将某个模块 backport 到稳定分支,请随时提交 issue。

注意事项

遗憾的是,在使用 Home Manager 时,很可能会遇到难以理解的错误。因此,您应该熟悉 Nix 语言以及 Nix 生态系统中的各种工具。

如果您对 Nix 不太熟悉但仍想使用 Home Manager,强烈建议您从一个小型且非常简单的配置开始,随着学习的深入再逐步完善。

在某些情况下,Home Manager 无法检测它是否会覆盖之前的手动配置。例如,Gnome Terminal 模块会写入您的 dconf 存储,并且无法判断即将被覆盖的配置是来自之前的 Home Manager 生成版本还是手动配置。

Home Manager 面向 nixpkgs-unstable 和 NixOS 26.05 版本(当前稳定版),在其他 Linux 发行版和 NixOS 版本上可能可以工作,也可能无法工作。

现在,当您已经了解了这些预期并渴望尝试时,可以继续阅读本文的其余部分。

联系方式

您可以通过 IRC 加入 OFTC 上的 #home-manager 频道与我们交流。此外,还有一个 Matrix 房间,它与该 IRC 频道已桥接。

安装

Home Manager 主要有三种使用方式:

  1. 使用独立的 home-manager 工具。对于 NixOS 和 Darwin 以外的平台,这是唯一可用的选择。对于希望独立于整个系统管理其主目录的 NixOS 或 Darwin 用户,也推荐使用此方式。有关执行此安装的说明,请参阅手册中的“独立安装”manual standalone install

  2. 作为 NixOS 系统配置中的一个模块。这允许在运行 nixos-rebuild 时将用户配置文件与系统一起构建。有关此设置的说明,请参阅手册中的“NixOS 模块”manual nixos install

  3. 作为 nix-darwin 系统配置中的一个模块。这允许在运行 darwin-rebuild 时将用户配置文件与系统一起构建。有关此设置的说明,请参阅手册中的“nix-darwin 模块”manual nix-darwin install

Home Manager 同时提供基于频道的设置和基于 flake 的设置。有关基于 flake 的设置说明,请参阅 Nix Flakes

翻译

Home Manager 通过 gettext 对国际化提供基本支持。翻译由 Weblate 托管。如果您想为翻译工作做出贡献,请访问 Home Manager Weblate 项目

Translation status

许可证

本项目根据 MIT 许可证 条款授权。

Introduction

使用 Nix 管理 用户环境 [维护者=@rycee]【此简介由AI生成】

Customize your domain
5010.34 K2.47 KVisit GitHub