Nix配置位于官方nix docker镜像的哪个位置?

时间:2017-04-02 14:08:04

标签: nix nixos

根据https://chris-martin.org/2015/installing-nixos,存在/etc/nixos/configuration.nix个文件。

我正在使用https://hub.docker.com/r/nixos/nix/中的docker容器并正在运行

find . -name "configuration.nix"
容器内的

不会返回任何结果。

此配置位于何处?

3 个答案:

答案 0 :(得分:1)

echo $NIX_PATH

应该告诉你。寻找nixos-config

的定义

答案 1 :(得分:0)

如果由于某种原因它不存在或者你找不到它,你可以将构建系统所需的一切都作为nixos-rebuild的参数传递:

git clone --branch release-17.03 https://github.com/nixos/nixpkgs $HOME/nixpkgs
mkdir -p $HOME/nix-config
nixos-generate-config --dir $HOME/nix-config

nixos-install -I nixos-config=$HOME/nix-config/configuration.nix -I nixpkgs=$HOME/nixpkgs

我更喜欢这样做,因为它允许我使用我配置的nixpkgs和nix文件,我存储在个人git仓库中。

答案 2 :(得分:0)

nix图像与Nixos项目没有直接关系。

您可以使用nix容器来做某事,例如创建一个nix-shell环境:

docker run -ti nixos/nix
cb84c4b79d05:/# echo '{ pkgs ? import <nixpkgs> {} }:
>   pkgs.mkShell {
>     buildInputs = [ pkgs.python pkgs.php ];
> }
> ' > shell.nix
cb84c4b79d05:/# nix-shell shell.nix 
these derivations will be built:
  /nix/store/j6p6rskjji6l4hw95wbyyj2iyxd9j1j5-php.ini.drv
  /nix/store/kymjwis1v82wif5jn7pczphg4j5q3ir5-php-with-extensions-7.4.4.drv
these paths will be fetched (96.21 MiB download, 436.69 MiB unpacked):
  /nix/store/0cxqyn95rh7vihmywnaimrxlpb58958i-php-gd-7.4.4
  /nix/store/0pxqh18n0wzqa6aamad2ljrl5nahlyiv-php-openssl-7.4.4
....
[nix-shell:/]# python --version
Python 2.7.18

[nix-shell:/]# php -v
PHP 7.4.4 (cli) (built: Mar 17 2020 10:40:37) ( ZTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.4, Copyright (c), by Zend Technologies

此处提供更多信息:https://nixos.wiki/wiki/Development_environment_with_nix-shell