2015-03-16 5 views
2

Je construis un système nixos dans un réseau qui ne peut accéder au monde extérieur que via un proxy web. Le nixos grub configuration essaie d'accéder au référentiel grub via une URL git:// qui ne fonctionne évidemment pas sur mon réseau. Par conséquent, je souhaite remplacer l'URL git:// par l'URL http:// correspondante. (savannah prend en charge both.) Le nix documentation correspondant montre comment le faire.Comment modifier une configuration de paquet nixos

J'ai créé un fichier ~/.nixpkgs/config.nix contenant le contenu suivant:

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

Malheureusement nixos-rebuild switch essaie toujours d'utiliser l'ancienne URL. Qu'est-ce que j'ai fait de mal? J'ai également lu le document customising packages de la documentation. De qu'il semble que je pourrais ajouter ce qui suit à /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"; 
    })); 
}; 

Cependant nixos-rebuild switchnixos-rebuild switch utilise encore l'ancienne URL. J'ai probablement besoin d'ajouter fetchurl, mais je ne sais pas comment le rendre disponible à cet endroit.

Répondre

2

pkgs.grub.override peut remplacer la fonction en haut du fichier. Pour remplacer les paramètres de dérivation utilisent overrideDerivation comme décrit dans 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

Mettre exactement ce code dans '~/.nixpkgs/config.nix' n'a pas changé quoi que ce soit. 'nixos-rebuild switch' essaie toujours de récupérer l'ancienne URL. – michas

+0

S'il vous plaît lire la section entière à http://nixos.org/nixos/manual/sec-package-management.html#sec-customising-packages – iElectric

+0

Oui, j'ai lu toute la section, mais je ne suis pas sûr si je l'ai compris correctement. J'ai ajouté mon autre essai à la question. – michas