Tutoriales

¿Cómo configurar Home Manager en NixOS?

Antes de publicar este artículo, expliqué cómo instalar y eliminar paquetes en NixOS para un sistema de un solo usuario.

Pero si ejecuta múltiples usuarios, hay una buena manera de satisfacer las necesidades de cada usuario por separado.

En esta guía, le mostraré cómo configurar Home Manager en NixOS y usarlo para instalar paquetes.

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

Configuración de Home Manager en NixOS

En esta guía, le mostraré dos formas de configurar Family Manager:

  • Family Manager independiente (usa archivos de configuración separados)
  • como un módulo nix (que usa internamente configuration.nix documento)

Entonces, comencemos con la opción independiente.

Instalación independiente de home-manager

Si está utilizando una versión estable de NixOS, puede configurar el administrador de inicio con el siguiente comando:

nix-channel --add  home-manager

Al momento de escribir esta guía, la versión estable es 22.11.

y Si usa un canal inestableusando lo siguiente:

nix-channel --add  home-manager

Los siguientes pasos seguirán siendo los mismos ya sea que esté utilizando una versión estable o inestable.

Una vez hecho esto, actualice el canal:

nix-channel --update

Finalmente, instala Home Manager con el siguiente comando:

nix-shell '' -A install

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

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

Una vez completado, mostrará la ubicación de la instalación independiente de Home Manager:

Ubicación de Home Manager en NixOS

Instale home-manager como un módulo de NixOS

⚠️

Si elige usar HomeManager como un módulo de NixOS, necesitará privilegios de sudo.

Si es un canal estable (22.11 al momento de escribir), puede usar el siguiente comando para agregar el canal estable de homemanager:

sudo nix-channel --add  home-manager

y Si está utilizando un canal inestable o maestrousando lo siguiente:

sudo nix-channel --add  home-manager

Cuando haya terminado de agregar canales usando cualquiera de los comandos que se muestran arriba, actualice el canal con:

sudo nix-channel --update

A continuación, abre configuration.nix uso del archivo:

sudo nano /etc/nixos/configuration.nix

y agregue la siguiente línea dentro imports []:

Instale home-manager como un módulo de NixOS

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

home-manager.users.{username} = { pkgs, ... }: {
  home.packages = [  ];
  };
Sintaxis del módulo home-manager en un archivo de configuración de NixOS

Las líneas anteriores se agregaron para facilitar la instalación y eliminación de paquetes, que le mostraré a continuación.

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

A continuación, reconstruya la configuración y cambie:

sudo nixos-rebuild switch

Pero si está usando una versión estable y usa el comando anterior, arrojará un error:

🛠️ Error: opción ‘home-manager.users.user.home.stateVersion’ utilizada pero no definida:

Error: la opción 'home-manager.users.user.home.stateVersion' se usa pero no está definida.

Para solucionar esto, debe agregar home.stateVersion en su área de administrador de inicio.

Al momento de escribir, estoy ejecutando 22.11, por lo que todo el bloque del administrador de inicio se verá así:

home-manager.users.{username} = { pkgs, ... }: {
home.stateVersion = "22.11";  
home.packages = [ ];
  };
Cómo resolver usando pero sin definir la opción 'home-manager.users.user.home.stateVersion'.

Guarde los cambios y salga del editor de texto nano presionando Ctrl + Ohaga clic para entrar y Ctrl + X.

Ahora, intente reconstruir la configuración y cambie nuevamente, eso debería solucionar el problema.

Cómo usar el paquete home-manager en NixOS

Ahora que tiene instalado Home-Manager, cómo usarlo para instalar paquetes:

Usando una instalación independiente de Home-manager

Primero, abra el archivo de configuración con el siguiente comando:

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

Salta al final de la línea y agrega el siguiente bloque de código al frente }:

home.packages = [];

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

Por ejemplo, si quiero instalar ultimo pisotendría que ingresar lo siguiente:

home.packages = [pkgs.htop];

Sí, generalmente tiene que agregar el nombre del paquete con pkgs.

Pero si quieres deshacerte del uso pkgs. Usado cada vez que se instala un nuevo paquete, cambie la sintaxis del bloque de código de la siguiente manera:

home.packages = with pkgs; [];

Ahora ya no necesitas usar pkgs. Para cada instalación:

home.packages = with pkgs; [htop];

Por ejemplo, aquí, quiero instalar htop, firefox y LibreOffice Entonces mi bloque de inicio se ve así:

Instale múltiples paquetes usando home-manager en NixOS
Instale múltiples paquetes usando home-manager (haga clic para agrandar la imagen)

Una vez que haya terminado de agregar sus paquetes favoritos, guarde el archivo de configuración e instale los paquetes con:

home-manager switch

Uso de módulos de NixOS

Primero, abre configuration.nix Cree el archivo con el siguiente comando:

sudo nano /etc/nixos/configuration.nix

En la sección de configuración, he agregado el bloque del administrador de inicio, por lo que todo lo que queda es agregar el nombre del paquete dentro home.packages = [  ]; En el formato que se muestra:

home.packages = [ pkgs.package_name ];

💡

Ya mencioné cómo puedes deshacerte de usar pkgs. antes del nombre del paquete en la sección anterior (para instalar el paquete en un administrador doméstico independiente).

Por ejemplo, si quisiera instalar htop, Firefox y LibreOffice, agregaría:

pkgs.htop pkgs.firefox pkgs.libreoffice

Mi bloque de administrador de inicio se ve así:

Instale varios paquetes como módulos de NixOS en home-manager

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

A continuación, reconstruya la configuración y cambie con el siguiente comando:

sudo nixos-rebuild switch

¡Eso es todo! Estos paquetes se instalarán inmediatamente.

se acabó

Creo que debería usar una instalación independiente ya que no necesita usar privilegios de superusuario. Además, si ejecuta un sistema con múltiples usuarios, es muy conveniente tener archivos de configuración separados para diferentes usuarios.

Entonces, a menos que desee un archivo para todos los propósitos, no veo otra razón para usar la opción de módulo.

Esto concluye mi serie de principiantes de NixOS. Espero que le proporcione una plataforma lo suficientemente buena para familiarizarse con esta distribución única de Linux.

💬 ¿Qué opinas de la serie NixOS? ¿Hay algo más que debamos cubrir para los principiantes de NixOS? Por favor proporcione su valiosa opinión.

LEER  ᐅ Cómo instalar Ubuntu MATE en Raspberry Pi 4 »Linux en gachupin

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba