mirror of
https://github.com/ryan4yin/nixos-and-flakes-book.git
synced 2024-11-26 01:53:10 +01:00
feat: use relative links
This commit is contained in:
parent
5d1e195427
commit
bdc2ebb107
@ -1,9 +1,9 @@
|
||||
# 多 nixpkgs 实例的妙用
|
||||
|
||||
我们在前面 [降级与升级软件包](/zh/nixos-with-flakes/downgrade-or-upgrade-packages.md) 一节中见过,怎么通过 `import nixpkgs {...}` 这样的方法实例化多个不同的 nixpkgs 实例。
|
||||
我们在前面 [降级与升级软件包](../nixos-with-flakes/downgrade-or-upgrade-packages.md) 一节中见过,怎么通过 `import nixpkgs {...}` 这样的方法实例化多个不同的 nixpkgs 实例。
|
||||
这种方法有很多的用途,常见的有:
|
||||
|
||||
1. 通过实例化 commit id 不同的 nixpkgs 实例,用于安装不同版本的软件包。前面的 [降级与升级软件包](/zh/nixos-with-flakes/downgrade-or-upgrade-packages.md) 一节中就是这样使用的。
|
||||
1. 通过实例化 commit id 不同的 nixpkgs 实例,用于安装不同版本的软件包。前面的 [降级与升级软件包](../nixos-with-flakes/downgrade-or-upgrade-packages.md) 一节中就是这样使用的。
|
||||
2. 如果希望使用 overlays,但是又不想影响到默认的 nixpkgs 实例,可以通过实例化一个新的 nixpkgs 实例,然后在这个实例上使用 overlays。
|
||||
- 上一节 Overlays 中提到的 `nixpkgs.overlays = [...];` 是直接修改全局的 nixpkgs 实例,如果你的 overlays 改了比较底层的包,可能会影响到其他模块。坏处之一是会导致大量的本地编译(因为二进制缓存失效了),二是被影响的包功能可能也会出问题。
|
||||
3. 在跨系统架构的编译中,你可以通过实例化多个 nixpkgs 实例来在不同的地方分别选用 QEMU 模拟编译与交叉编译,或者添加不同的 gcc 编译参数。
|
||||
|
Loading…
Reference in New Issue
Block a user