構築しようとしています。私のNixの設定GitLab CIでは、すべての変更が少なくともNixOSで動作できることを確認してください。これ公式Nix DockerイメージNixOSと構造が非常に異なります(アルパインベース)、回避策がわからないエラーが発生し続けます。
$ docker run --volume=$(pwd):/etc/nixos --interactive --rm --tty nixos/nix
5cc8dad8d887:/# nix-build /etc/nixos/configuration.nix
error: cannot auto-call a function that has an argument without a default value ('config')
生成されたファイルにもnixos-generate-config
同じ問題があります。
$ cd "$(mktemp --directory)"
$ nixos-generate-config --root .
$ nix-build etc/nixos/configuration.nix
error: cannot auto-call a function that has an argument without a default value ('config')
唯一の他買戻契約私は似たようなことをするたくさんここでやりたいことよりも複雑です。
答え1
解決済み、ついに:
build:
stage: test
image: nixos/nix
before_script:
- echo system-features = kvm | tee -a /etc/nix/nix.conf
- echo {} | tee common.nix hardware-configuration.nix host.nix
- nix-env --install --attr nixpkgs.nixos-rebuild nixpkgs.man
script:
- nix-build '<nixpkgs/nixos>' -I nixos-config=ci.nix
cache:
- key:
files:
- configuration.nix
paths:
- /nix/store
ci.nixは、ビルドできるいくつかの項目を書き換えます。
{ lib, ... }: {
imports = [ ./configuration.nix ];
boot = lib.mkForce { };
environment.systemPackages = lib.mkForce [ ];
}
注:ディスク容量が不足するのを防ぐために(または独自のランナーを作成して維持する必要がある場合)、environment.systemPackages
ci.ymlを消去しました。