2015-03-16 3 views
2

Я создаю систему nixos в сети, которая имеет доступ только к внешнему миру через веб-прокси. nixos grub configuration пытается получить доступ к репозиторию grub через URL-адрес git://, который, очевидно, не работает в моей сети.Как изменить конфигурацию пакета nixos

Поэтому я хочу заменить URL-адрес git:// на соответствующий адрес http://. (саванна поддерживает both.) Соответствующий nix documentation показывает, как это сделать.

Я создал файл, содержащий ~/.nixpkgs/config.nix следующего содержания:

{ 
    packageOverrides = pkgs: rec { 
    grub = pkgs.grub.override { 
     src.url="http://git.savannah.gnu.org/grub.git"; 
    }; 
    }; 
} 

К сожалению nixos-rebuild switch все еще пытается использовать старый URL. Что я сделал не так?


Я также прочитал customising packages документации. Из того, что мне кажется, что я мог бы добавить следующее /etc/nixos/configuration.nix:

nixpkgs.config.packageOverrides = pkgs: { 
    grub = pkgs.grub.overrideDerivation (pkgs.grub (attrs: { 
     url = "http://git.savannah.gnu.org/grub.git"; 
     rev = "2ae9457e6eb4c352051fb32bc6fc931a22528ab2"; 
     sha256 = "1ik60qgkymg0xdns5az1hbxasspah2vzxg334rpbk2yy3h3nx5ln"; 
    })); 
}; 

Однако nixos-rebuild switchnixos-rebuild switch все еще использует старый URL. Мне, вероятно, нужно добавить fetchurl, но я понятия не имею, как сделать это доступным в этом месте.

ответ

2

pkgs.grub.override может переопределить функцию в верхней части файла. Чтобы изменить параметры деривации использовать overrideDerivation, как описано в http://nixos.org/nixos/manual/sec-package-management.html#sec-customising-packages

{ 
    packageOverrides = pkgs: rec { 
    grub = pkgs.grub.override (attrs: { 
     src = fetchurl { url = "http://git.savannah.gnu.org/grub.git"; 
         sha256 = ""; 
     }; 
    }); 
    }; 
} 
+0

Ввод именно этот код в '~/.nixpkgs/config.nix' ничего не изменится. 'nixos-rebuild switch' по-прежнему пытается получить старый URL-адрес. – michas

+0

Прочтите весь раздел по адресу http://nixos.org/nixos/manual/sec-package-management.html#sec-customising-packages – iElectric

+0

Да, я прочитал весь раздел, но не уверен, понял ли я его правильно. Я добавил еще одну попытку к вопросу. – michas

Смежные вопросы