O sistema de empacotamento no NixOS é seu ponto mais forte. O gerenciador de pacotes Nix usa uma sintaxe muito diferente do apt, dnf e outros gerenciadores de pacotes.
É também uma das razões pelas quais se deve tentar usar o NixOS.
Neste guia, compartilharemos duas maneiras de instalar e remover pacotes no NixOS:
- Usando o gerenciador de pacotes Nix
- Usando arquivo de configuração
configuration.nix
Usando o gerenciador de pacotes Nix, você só pode instalar pacotes, mas não serviços como SSH ou servidor Plex. Para a instalação de serviços, você teria que usar um arquivo de configuração Nix. Para instalar qualquer pacote, é necessário saber seu nome exato, e para isso, vamos começar com como você pode procurar pacotes no NixOS.
Pesquisa de pacotes
Para procurar pacotes, você pode usar sua web search usando seu navegador preferido.
Você pode utilizar sua pesquisa na web usando as etapas:
- Digite o nome do pacote na barra de pesquisa
- Selecione o pacote apropriado (decida a partir da descrição fornecida)
- Clique na opção
nix-env
- E copie o comando para
NixOS
(primeiro)
Por exemplo, se quisermos o pacote librewolf
, executaremos o seguinte:
Você pode fazer o mesmo através do terminal.
Para pesquisar pacotes usando o terminal, você pode seguir a sintaxe de comando fornecida:
nix-env -qaP --description nome_do_pacote
Por exemplo, aqui, procurei o librewolf
:
Você terá que copiar a primeira linha da saída, pois esse é o nome do pacote que você precisa instalar.
Aqui, foi nixos.librewolf
.
Sim, pode não parecer tão conveniente quanto os nomes dos pacotes ao usar APT ou DNF. Mas, não é tão ruim também.
Instalando um pacote no NixOS
Para instalar um pacote, tudo o que você precisa fazer é usar a seguinte sintaxe de comando:
nix-env -iA nome_do_pacote
E se você usar a pesquisa na web para procurar o pacote, você já terá o comando exato que você precisa para a instalação.
Então, digamos que eu queira instalar librewolf
, então vou usar o seguinte comando:
nix-env -iA nixos.librewolf
E se você quiser executar uma instalação em todo o sistema (disponibilizar este pacote para todos os usuários), execute o comando de instalação com sudo
:
sudo nix-env -iA nixos.librewolf
É isso! Você terá seu pacote favorito instalado em pouco tempo.
Desinstalando um pacote no NixOS
Para remover um pacote, você pode consultar a sintaxe de comando fornecida:
nix-env --uninstall nome_do_pacote
Então, se eu tiver que remover o pacote librewolf
, eu tenho que usar o seguinte comando:
nix-env --uninstall librewolf
Se você notar de perto, usamos librewolf
em vez de nixos.librewolf
.
Isso significa que você terá que pular a parte nixos
durante a remoção do pacote, o que torna as coisas fáceis e rápidas.
Instalando serviços no NixOS
Como mencionado anteriormente, você não pode usar o gerenciador de pacotes nix para instalar serviços como OpenSSH, servidor Plex, Flatpak, etc.
Desde a busca pelo serviço até o processo de instalação, ele difere do que você viu acima.
Então, vamos começar com como você pode procurar um serviço:
- Para procurar o serviço, dirija-se à página web para a pesquisa de pacotes Nix.
- Selecione
NixOS options
(3ª opção na linha superior do menu da página). - Digite o nome do serviço que você está procurando.
- Copie o nome do serviço.
Por exemplo, aqui, estamos procurando o serviço OpenSSH:
Depois de ter o nome, abra o arquivo configuration.nix
usando o seguinte comando:
sudo nano /etc/nixos/configuration.nix
E adicione o nome do serviço no final da linha (antes de }
) da seguinte maneira:
nome_do_serviço = true;
Como queremos ativar o OpenSSH, adicionaremos o seguinte:
services.openssh.enable = true;
Quando terminar de adicionar o serviço ao arquivo de configuração, salve as alterações e saia do editor de texto nano.
Para habilitar o serviço, recrie o arquivo de configuração e alterne para as alterações usando o seguinte comando:
sudo nixos-rebuild switch
É isso! Você tem o serviço habilitado.
Desinstalando serviços do NixOS
Para desinstalar um serviço, tudo o que você precisa fazer é remover ou comentar a linha desse serviço do configuration.nix
arquivo.
Então, primeiro, abra o arquivo de configuração usando o seguinte comando:
sudo nano /etc/nixos/configuration.nix
Procure o serviço e remova a linha ou comente-a com #
:
Com o comentário adicionado #
, estamos ignorando o serviço OpenSSH para carregar, pois não queremos mais no sistema.
Uma vez feito, salve a alteração e saia do editor de texto.
E, finalmente, reconstrua o arquivo de configuração e faça a troca:
sudo nixos-rebuild switch
Instalando pacotes usando o arquivo de configuração Nix
O arquivo de configuração permite que você gerencie facilmente pacotes de uma só vez.
Para instalar um pacote usando o arquivo de configuração Nix, você precisa digitar o nome do pacote no arquivo de configuração, reconstruir e alternar para o arquivo de configuração, e pronto.
Primeiro, abra o arquivo configuration.nix
:
sudo nano /etc/nixos/configuration.nix
Se você quiser instalar um pacote para um usuário conectado específico, adicione o nome do pacote ao perfil do usuário.
O perfil do usuário tem esta aparência:
users.users.nome_do_usuario = {
isNormalUser = true;
description = "Sagar";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
firefox
];
};
Claro, ele mostrará seu nome de usuário em vez de nome_do_usuario
.
E você deve adicionar o nome do pacote usando a sintaxe packages = with pkgs; nome_do_pacote;
Então, vamos supor que queremos instalar o Thunderbird
também, então vamos adicionar seu nome como mostrado abaixo:
Você deve adicionar todos os nomes de pacotes dentro do colchete sem vírgulas. Tem que estar em uma nova linha como a captura de tela descreve.
Mas se você quiser instalar este pacote em todo o sistema, então você terá que adicionar o nome do pacote em environment.systemPackages como:
environment.systemPackages = with pkgs; nome_do_pacote
Depois de terminar de adicionar o nome do pacote necessário no perfil do sistema ou perfil de usuário, ou mesmo ambos, você terá que seguir o mesmo comando para concluir a instalação:
sudo nixos-rebuild switch
E pronto!
Removendo pacotes usando o arquivo de configuração Nix
Para remover um pacote, tudo o que você precisa fazer é seguir os passos simples fornecidos:
1.Abra o arquivo de configuração do Nix
- Remova ou comente o nome do pacote 3.Reconstrua a configuração e faça a troca
Então vamos começar com o primeiro passo (abrir o arquivo de configuração):
sudo nano /etc/nixos/configuration.nix
Em seguida, comente o nome do pacote do perfil de usuário ou do sistema:
Salve as alterações e saia do arquivo de configuração.
E, finalmente, recompile a configuração e faça a troca para remover o pacote:
sudo nixos-rebuild switch
É isso!
Atualmente, não existem ferramentas GUI oficiais para ajudá-lo com a instalação/remoção de pacotes. Você pode encontrar alguns projetos como nix-gui e nix42b desenvolvidos pela comunidade, mas eles não são mais mantidos ou simplesmente estão em seus estágios iniciais de desenvolvimento.
Via itsfoss.com. Você pode conferir o post original em inglês:
NixOS Series #3: Install and Remove Packages in NixOSÚltima atualização deste artigo: 18 de july de 2023