【问题标题】:Where is the Nix configuration located for the nix image on dockerhub?dockerhub 上 nix 映像的 Nix 配置位于何处?
【发布时间】:2017-04-02 14:08:04
【问题描述】:

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

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

find . -name "configuration.nix"

在容器内不返回任何结果。

此配置位于何处?

【问题讨论】:

    标签: nix nixos


    【解决方案1】:
    echo $NIX_PATH
    

    应该告诉你。查找nixos-config的定义。

    【讨论】:

      【解决方案2】:

      提到的 docker 容器不包含 NixOS 系统。引用评论:

      它基本上是 Alpine linux 发行版,上面有 apk 包管理器和 nix-env。

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

      (如果 OP 发表该评论,我不会感到惊讶☻)

      如果我们谈论的是 NixOS 的容器故事,那么在撰写本文时它还处于起步阶段。

      【讨论】:

        【解决方案3】:

        如果由于某种原因它不存在或您找不到它,您可以将构建系统所需的一切作为参数传递给 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 repo 中。

        【讨论】:

        • 您能否详细说明“构建系统”的含义?听起来我们正在制作 Nix 的额外“副本”。我更想知道为什么它首先不存在于 docker 容器中。可能解释了这个配置文件与 Nix / Nixos 的关系(也许是可选的)?
        • 由于 nixos 是声明性的,因此 configuration.nix 是描述从系统包到服务的整个系统的规范。 nixos-install 和 nixos-rebuild 是读取 configuration.nix 以“构建”configuration.nix 中描述的系统的命令。这还包括硬件配置,例如硬盘挂载点,nixos-generate-config 可以自动生成。
        【解决方案4】:

        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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-11-08
          • 2019-11-22
          • 1970-01-01
          • 1970-01-01
          • 2022-08-18
          • 2012-04-10
          • 2015-12-15
          相关资源
          最近更新 更多