Cómo montar automáticamente / montar permanentemente dispositivos externos en NixOS

12

Tengo una memoria USB y una partición de disco duro NTFS que me gustaría usar en NixOS. En alguna otra distribución, lo montaría usando ntfs-3g en / mnt. Pero en NixOS, el directorio no existe; Supongo que NixOS tiene alguna otra forma canónica y / o lugar para hacerlo.

En NixOS, ¿cómo se debe configurar el montaje automático de particiones externas, preferiblemente usando configuration.nix?

stefkin
fuente
abrir nautilussi tiene services.xserver.desktopManager.gnome3.enable = true;en su configuration.nixy verá la unidad y se montará en/run/media/$USER/<drive name>
Boris

Respuestas:

12

Bueno, utilizo habitualmente bashmounto udisksctlpara montar memorias USB. Se montarán en /run/media/$(user name)/$(drive label or UUID).

Pero si está hablando de un disco duro interno o partición en un disco duro local, la forma más simple es:

  1. Cree un directorio de su preferencia, como / mnt / windows-division
  2. Monte la partición deseada, digamos / dev / sdn5, en ese directorio:

PS mount /dev/sdn5 /mnt/windows-partition

  1. Ejecute nixos-generate-config . Actualizará /etc/nixos/hardware-configuration.nix para que coincida con la nueva configuración de la partición (y configuration.nix permanece intacto, a menos que use la opción --force ).
  2. Y, finalmente, a nixos-rebuild switch!
Anderson Torres
fuente
1
Entonces, con respecto a la omisión de un /mntdirectorio, la respuesta parece ser "hacer la suya propia o montarla donde quiera".
Ryne Everett
¿Cuál es el propósito del paso 3? ¿Esto hace que la montura sea permanente?
Chris Stryczynski
¡Sí! Ese paso es registrar / mnt / Windows-Partition en el archivo (generado por la máquina) hardware-configuration.nix. De esa manera, se montará el próximo arranque (después de una reconstrucción de nixos, por supuesto).
Anderson Torres
8

Yo personalmente uso udiscos para eso. Eso significa que si quiero montar un dispositivo USB, solo tengo que enchufarlo y ejecutar:

$ udisksctl mount -b /dev/sdc

Alias udisksctl mount -bpara udmhacerlo aún más corto. Luego, el dispositivo está montado /run/media/$USER/$DEVICE_LABELy accesible para usted.

Creo que algunas herramientas (por ejemplo, nautilus y ldm ) pueden hacerlo automáticamente por usted.

EDITAR : ah, acabo de descubrir que los udiscos también pueden montar dispositivos automáticamente.

toogley
fuente