根据 https:/chris-martin.org2015安装nixos。 有 /etc/nixos/configuration.nix
文件存在。
我使用的是来自于 https:/hub.docker.comrnixosnix。 和运行
find . -name "configuration.nix"
的容器内返回没有结果。
这个配置在哪里?
所提到的docker容器并不包含NixOS系统。引用一个评论。
基本上是Alpine linux系统,上面有apk包管理器和nix -env。
所以,没有NixOS,没有 configuration.nix
.
(如果OP做出这样的评论,我也不会感到惊讶☻)
如果我们谈论的是容器的故事,那么 NixOS在写这篇文章的时候,它还处于初级状态。
echo $NIX_PATH
应该告诉你。寻找定义 nixos-config
.
如果因为某些原因它不存在或者你找不到它,你可以把构建系统所需的一切作为参数传递给 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-files,我把它们存储在个人的git repo中。
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.wikiwikiDevelopment_environment_with_nix-shell)。