dockerhub上的nix镜像的Nix配置在哪里?

问题描述 投票:0回答:4

根据 https:/chris-martin.org2015安装nixos。/etc/nixos/configuration.nix 文件存在。

我使用的是来自于 https:/hub.docker.comrnixosnix。 和运行

find . -name "configuration.nix"

的容器内返回没有结果。

这个配置在哪里?

nix nixos
4个回答
0
投票

所提到的docker容器并不包含NixOS系统。引用一个评论。

基本上是Alpine linux系统,上面有apk包管理器和nix -env。

所以,没有NixOS,没有 configuration.nix.

(如果OP做出这样的评论,我也不会感到惊讶☻)

如果我们谈论的是容器的故事,那么 NixOS在写这篇文章的时候,它还处于初级状态。


1
投票
echo $NIX_PATH

应该告诉你。寻找定义 nixos-config.


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-files,我把它们存储在个人的git repo中。


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.wikiwikiDevelopment_environment_with_nix-shell)。

© www.soinside.com 2019 - 2024. All rights reserved.