Búsqueda de sitios web

Serie NixOS #5: ¿Cómo configurar el administrador del hogar en NixOS?


A continuación le mostramos cómo puede configurar fácilmente el administrador del hogar para instalar/eliminar paquetes en NixOS.

Antes de publicar esto, expliqué cómo instalar y eliminar paquetes en NixOS para un sistema de usuario único.

Pero si tiene varios usuarios, existe una excelente manera de satisfacer las necesidades de cada usuario por separado.

Y en esta guía, le explicaré cómo configurar un administrador de inicio en NixOS y cómo se puede utilizar para instalar paquetes.

Si es nuevo aquí, algunos recursos discutidos en esta serie incluyen:

  • Razones para usar nixOS

  • Instalar NixOS en una máquina virtual

  • Cosas que hacer después de instalar NixOS

Configurar el administrador de casa en NixOS

En esta guía, le explicaré dos formas de configurar un administrador del hogar:

  • Administrador de hogar independiente (utiliza un archivo de configuración independiente)

  • Como módulo nix (usándolo dentro del archivo configuration.nix)

Entonces, comencemos con la opción independiente.

Instalación independiente de home-manager

Si está utilizando un canal estable de NixOS, puede usar el siguiente comando para configurar el administrador de inicio:

nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager

Mientras escribía esta guía, la versión estable es 22.11.

Y si estás en un canal inestable, usa lo siguiente:

nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager

Los siguientes pasos seguirán siendo los mismos ya sea que use estable o inestable.

Una vez hecho esto, actualice los canales:

nix-channel --update

Y finalmente, use el siguiente comando para instalar el administrador de inicio:

nix-shell '<home-manager>' -A install

🛠️ Durante la instalación, puede generar el siguiente error:

Reinicie su sistema y use el comando de instalación nuevamente, y comenzará la instalación.

Una vez hecho esto, mostrará la ubicación de la instalación independiente del administrador del hogar:

Instalación de home-manager como módulo NixOS

Necesitará privilegios sudo si elige utilizar el administrador de inicio como módulo de NixOS.

Si está en un canal estable (mientras escribe, es 22.11), puede usar el siguiente comando para agregar el canal estable del administrador del hogar:

sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager

Y si estás usando el canal inestable o maestro, usa lo siguiente:

sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager

Una vez que haya terminado de agregar un canal usando cualquiera de los comandos que se muestran arriba, actualice el canal usando lo siguiente:

sudo nix-channel --update

A continuación, abra el archivo configuration.nix usando:

sudo nano /etc/nixos/configuration.nix

Y agregue la siguiente línea dentro de imports []:

<home-manager/nixos>

Ahora, salte al final de la línea y agregue lo siguiente antes de }:

home-manager.users.{username} = { pkgs, ... }: {
  home.packages = [  ];
  };

La línea anterior se agregó para facilitar la instalación y eliminación de paquetes que les mostraré a continuación.

Ahora, guarde los cambios y salga del editor de texto nano.

A continuación, reconstruya la configuración y haga un cambio:

sudo nixos-rebuild switch

Pero si está utilizando una versión estable y utiliza el comando anterior, arrojará el error que dice:

🛠️ error: La opción `home-manager.users.user.home.stateVersion' se utiliza pero no está definida:

Para resolver este problema, deberá agregar home.stateVersion en el bloque de su administrador de inicio.

Mientras escribo, estoy ejecutando 22.11, por lo que todo el bloque del administrador del hogar se vería así:

home-manager.users.{username} = { pkgs, ... }: {
home.stateVersion = "22.11";  
home.packages = [ ];
  };

Guarde los cambios y salga del editor de texto nano presionando Ctrl + O, presionando Enter y Ctrl + X.

Ahora, intente reconstruir la configuración y realice el cambio nuevamente, y eso debería resolver el problema.

Cómo instalar paquetes usando home-manager en NixOS

Ahora que tiene instalado Home Manager, cómo instalar paquetes con él:

Usando una instalación independiente de Home-manager

Primero, abra el archivo de configuración usando lo siguiente:

nano /home/$USER/.config/nixpkgs/home.nix

Vaya al final de la línea y agregue el siguiente bloque de código antes de }:

home.packages = [];

Ahora, todo lo que tienes que hacer es escribir el nombre del paquete entre esas dos llaves.

Por ejemplo, si quiero instalar htop, tendré que ingresar lo siguiente:

home.packages = [pkgs.htop];

Sí, normalmente tendrás que añadir el nombre del paquete con pkgs.

Pero si quiere salirse con la suya usando pkgs. cada vez que instale un nuevo paquete, cambie la sintaxis del bloque de código como se muestra:

home.packages = with pkgs; [];

Y ahora, ya no es necesario que utilices pkgs. para cada instalación:

home.packages = with pkgs; [htop];

Por ejemplo, aquí quería instalar htop, firefox y LibreOffice para que mi bloque de inicio se viera así:

Una vez que haya terminado de agregar sus paquetes favoritos, guarde el archivo de configuración y use el siguiente comando para instalar los paquetes:

home-manager switch

Usando el módulo NixOS

Primero, abra el archivo configuration.nix usando el siguiente comando:

sudo nano /etc/nixos/configuration.nix

En la parte de configuración, ya agregué el bloque del administrador de inicio, así que todo lo que queda es agregar el nombre del paquete dentro de home.packages=[  ]; en el formato mostrado:

home.packages = [ pkgs.package_name ];

He mencionado cómo puedes salirte con la tuya usando pkgs. antes del nombre del paquete en la sección anterior (instalación de paquetes en el administrador de inicio independiente).

Por ejemplo, si quiero instalar htop, Firefox y LibreOffice, agregaré:

pkgs.htop pkgs.firefox pkgs.libreoffice

Y mi bloque de administrador de casa se vería así:

Ahora, guarde los cambios y salga del editor de texto.

A continuación, reconstruya la configuración y realice un cambio usando el siguiente comando:

sudo nixos-rebuild switch

¡Eso es todo! Los paquetes se instalarán en poco tiempo.

'Es el final

Creo que deberías optar por la instalación independiente, ya que no es necesario utilizar privilegios de superusuario. Además, tener archivos de configuración separados para usuarios distintos es bastante conveniente si ejecuta un sistema con varios usuarios.

Entonces, a menos que desee un archivo para cada propósito, no veo otra razón para usar la opción del módulo.

Con esto concluyo la serie para principiantes de NixOS. Espero que le proporcione una plataforma lo suficientemente buena para familiarizarse con esta distribución única de Linux.

💬 ¿Qué te pareció la serie NixOS? ¿Hay algo más que debamos cubrir para los principiantes de NixOS? Por favor envíenos sus valiosos comentarios.