#nix #nixos #nixpkgs
#никс #nixos #nixpkgs #nix
Вопрос:
Я пытаюсь использовать nixos-генераторы для создания AMI на моем компьютере Ubuntu, на котором установлен nix package manager. У меня есть такая конфигурация:
$ cat configuration.nix
{ pkgs, ... }:
{
imports = [ <nixpkgs/nixos/modules/virtualisation/amazon-image.nix> ];
ec2.hvm = true;
environment.systemPackages = with pkgs; [ git ];
}
А затем я использую эту команду для создания AMI:
$ nixos-generate -f amazon -c ./configuration.nix
these derivations will be built:
/nix/store/zc68psb6kxz9sxqr82bqs7x6c3vamnbd-nixos-amazon-image-20.09pre-git-x86_64-linux.drv
error: a 'x86_64-linux' with features {kvm} is required to build '/nix/store/zc68psb6kxz9sxqr82bqs7x6c3vamnbd-nixos-amazon-image-20.09pre-git-x86_64-linux.drv', but I am a 'x86_64-linux' with features {benchmark, big-parallel, nixos-test}
Вы можете видеть приведенную выше ошибку, которую я получаю. Я знаю, что моя система
способна запускать виртуальные машины KVM:
$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
И, основываясь на чтении документации, я nix.conf
заполняю ее следующим образом:
$ cat ~/.config/nix/nix.conf
system-features = "kvm"
И в ответ на это я получаю эту странную ошибку:
$ nixos-generate -f amazon -c ./configuration.nix
these derivations will be built:
/nix/store/zc68psb6kxz9sxqr82bqs7x6c3vamnbd-nixos-amazon-image-20.09pre-git-x86_64-linux.drv
error: a 'x86_64-linux' with features {kvm} is required to build '/nix/store/zc68psb6kxz9sxqr82bqs7x6c3vamnbd-nixos-amazon-image-20.09pre-git-x86_64-linux.drv', but I am a 'x86_64-linux' with features {"kvm"}
Есть какие-нибудь идеи о том, как решить эту проблему и создать AMI?
Ответ №1:
@patogonicus из IRC обнаружил, что проблема заключалась в двойных кавычках в nix.conf
файле:
system-features = kvm
И он отлично работал с этой конфигурацией.