Nix (package manager)/pt: Difference between revisions

Cybergui (talk | contribs)
Created page with "Os pacotes criados pelo Nix são colocados no ''armazenamento Nix'' somente leitura, normalmente encontrado em <code>/nix/store</code>. Cada pacote recebe um endereço exclusivo especificado por um hash criptográfico seguido do nome do pacote e da versão, por exemplo <code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. Esses prefixos fazem o hash de todas as entradas para o processo de compilação, incluindo os arquivos de origem, a árvore de dependê..."
FuzzyBot (talk | contribs)
Updating to match new version of source page
 
Line 1: Line 1:
Nix é um gerenciador de pacotes e sistema de construção que analisa instruções de construção reproduzíveis especificadas no [[Nix Expression Language]], Uma linguagem puramente funcional com avaliação preguiçosa. Expressões Nix são funções puras. <ref>Valores não podem mudar durante a computação. Funções sempre produzem a mesma saída se sua entrada não mudar. </ref>tomando dependências como argumentos e produzindo ''[[Derivations|derivation]]'' especificando um ambiente de construção reproduzível para o pacote. O Nix armazena os resultados da construção em endereços exclusivos especificados por um hash da árvore de dependência completa, criando um armazenamento de pacotes imutável (também conhecido como [[#Nix store|nix store]]) que permite atualizações atômicas, reversões e instalação simultânea de diferentes versões de um pacote, eliminando essencialmente [https://en.wikipedia.org/wiki/Dependency_hell dependency hell].  
<languages/>
<div class="mw-translate-fuzzy">
Nix é um gerenciador de pacotes e sistema de construção que analisa instruções de construção reproduzíveis especificadas no [[Nix Expression Language]], Uma linguagem puramente funcional com avaliação preguiçosa. Expressões Nix são funções puras. <ref>Valores não podem mudar durante a computação. Funções sempre produzem a mesma saída se sua entrada não mudar. </ref>tomando dependências como argumentos e produzindo ''[[Derivations|derivation]]'' especificando um ambiente de construção reproduzível para o pacote. O Nix armazena os resultados da construção em endereços exclusivos especificados por um hash da árvore de dependência completa, criando um armazenamento de pacotes imutável (também conhecido como [[#Nix store|nix store]]) que permite atualizações atômicas, reversões e instalação simultânea de diferentes versões de um pacote, eliminando essencialmente [https://en.wikipedia.org/wiki/Dependency_hell dependency hell].
</div>


<span id="Usage"></span>
<span id="Usage"></span>
== Uso ==
== Uso ==


<div class="mw-translate-fuzzy">
=== Instalação ===
=== Instalação ===
NixOS: O Nix está sendo instalado enquanto você instala o NixOS.
NixOS: O Nix está sendo instalado enquanto você instala o NixOS.
</div>


<div class="mw-translate-fuzzy">
Se você pretende utilizar o Nix em uma distribuição Linux diferente ou em um computador Mac, você pode executar uma instalação autônoma: O [https://nixos.org/manual/nix/stable/installation/installation installation section of the Nix manual] descreve a instalação do Nix autônomo a partir do binário ou do código-fonte.
Se você pretende utilizar o Nix em uma distribuição Linux diferente ou em um computador Mac, você pode executar uma instalação autônoma: O [https://nixos.org/manual/nix/stable/installation/installation installation section of the Nix manual] descreve a instalação do Nix autônomo a partir do binário ou do código-fonte.
</div>


<span id="Nix_commands"></span>
<span id="Nix_commands"></span>
=== Comandos Nix ===
=== Comandos Nix ===


<div class="mw-translate-fuzzy">
O [[Nix command|Nix commands]] esta documentado em [https://nixos.org/manual/nix/stable/command-ref/command-ref Nix reference manual]: Comandos principais, utilitários e comandos experimentais. Antes da versão 2.0 (lançada em fevereiro de 2018), havia comandos diferentes.
O [[Nix command|Nix commands]] esta documentado em [https://nixos.org/manual/nix/stable/command-ref/command-ref Nix reference manual]: Comandos principais, utilitários e comandos experimentais. Antes da versão 2.0 (lançada em fevereiro de 2018), havia comandos diferentes.
</div>


<div class="mw-translate-fuzzy">
=== Configuração ===
=== Configuração ===
No NixOS, o Nix é configurado através do [https://search.nixos.org/options?query=nix. <code>nix</code> option].  
No NixOS, o Nix é configurado através do [https://search.nixos.org/options?query=nix. <code>nix</code> option].
</div>


O Nix autônomo é configurado através de <code>nix.conf</code> (geralmente encontrado em <code>/etc/nix/</code>), que define uma série de configurações relacionadas à avaliação, compilações, coleta de lixo, sandbox e permissões de usuário. Detalhes sobre as opções disponíveis estão disponíveis. Detalhes sobre as opções disponíveis são [https://nixos.org/manual/nix/stable/command-ref/conf-file found in the Nix reference manual].  
<div class="mw-translate-fuzzy">
O Nix autônomo é configurado através de <code>nix.conf</code> (geralmente encontrado em <code>/etc/nix/</code>), que define uma série de configurações relacionadas à avaliação, compilações, coleta de lixo, sandbox e permissões de usuário. Detalhes sobre as opções disponíveis estão disponíveis. Detalhes sobre as opções disponíveis são [https://nixos.org/manual/nix/stable/command-ref/conf-file found in the Nix reference manual].
</div>


É possível uma configuração ainda mais completa com [[Home Manager]] para gerenciar ambientes declarativos para um único usuário. Para configuração de todo o sistema no Linux, você pode usar System Manager. Para configuração de todo o sistema no macOS, [nix-darwin nix-darwin] é a solução preferida.
<div class="mw-translate-fuzzy">
É possível uma configuração ainda mais completa com [[Home Manager]] para gerenciar ambientes declarativos para um único usuário. Para configuração de todo o sistema no Linux, você pode usar System Manager. Para configuração de todo o sistema no macOS, [nix-darwin nix-darwin] é a solução preferida.
</div>


<span id="Internals"></span>
<span id="Internals"></span>
Line 26: Line 41:
=== Nix store ===
=== Nix store ===


Os pacotes criados pelo Nix são colocados no ''armazenamento Nix'' somente leitura, normalmente encontrado em <code>/nix/store</code>. Cada pacote recebe um endereço exclusivo especificado por um hash criptográfico seguido do nome do pacote e da versão, por exemplo <code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. Esses prefixos fazem o hash de todas as entradas para o processo de compilação, incluindo os arquivos de origem, a árvore de dependências completa, sinalizadores do compilador, etc. Isso permite que o Nix instale simultaneamente diferentes versões do mesmo pacote e até mesmo diferentes compilações da mesma versão, por exemplo, variantes compiladas com compiladores diferentes. Ao adicionar, remover ou atualizar um pacote, nada é removido do repositório; em vez disso, links simbólicos para esses pacotes são adicionados, removidos ou alterados em "profiles".
<div lang="en" dir="ltr" class="mw-content-ltr">
{{Split|reason=The nix store is conceptually separate enough that it warrants a separate article.}}
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
Packages built by Nix are placed in the read-only ''Nix store'', normally found in <code>/nix/store</code>. Each package is given a unique address specified by a cryptographic hash followed by the package name and version, for example <code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. These prefixes hash all the inputs to the build process, including the source files, the full dependency tree, compiler flags, etc. This allows Nix to simultaneously install different versions of the same package, and even different builds of the same version, for example variants built with different compilers. When adding, removing or updating a package, nothing is removed from the store; instead, symlinks to these packages are added, removed or changed in ''profiles''.
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
==== Cleaning the Nix store ====
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
For information relating to cleaning the Nix store, refer to {{NixOS Manual|name=NixOS Manual: Chapter - Cleaning the Nix Store|anchor=#sec-nix-gc}}.
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
==== Nix store corruption ====
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
For information relating to fixing a corrupted Nix store, refer to {{NixOS Manual|name=NixOS Manual: Chapter - Nix Store Corruption|anchor=#sec-nix-store-corruption}}.
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
==== Valid Nix store names ====
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
{{main|Valid Nix store path names}}
</div>


<span id="Profiles"></span>
<span id="Profiles"></span>