Comment monter automatiquement / monter en permanence des périphériques externes sur NixOS

12

J'ai une clé USB et une partition de disque dur NTFS que je voudrais utiliser dans NixOS. Sur une autre distribution, je le monterais en utilisant ntfs-3g dans / mnt. Mais sur NixOS, le répertoire n'existe pas; Je suppose que NixOS a une autre manière et / ou lieu canonique de le faire.

Dans NixOS, comment configurer le montage automatique de partitions externes, de préférence en utilisant configuration.nix?

stefkin
la source
ouvert nautilussi vous services.xserver.desktopManager.gnome3.enable = true;en avez configuration.nixet vous verrez le lecteur et il sera monté à/run/media/$USER/<drive name>
Boris

Réponses:

12

Eh bien, j'utilise bashmountou udisksctlpour monter des clés USB. Ils seront montés dedans /run/media/$(user name)/$(drive label or UUID).

Mais si vous parlez d'un disque dur interne ou d'une partition dans un disque dur local, la manière la plus simple est:

  1. Créez un répertoire de votre préférence, comme / mnt / windows-partition
  2. Montez la partition souhaitée, par exemple / dev / sdn5, dans ce répertoire:

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

  1. Exécutez nixos-generate-config . Il mettra à jour /etc/nixos/hardware-configuration.nix pour correspondre à la nouvelle configuration de partition (et configuration.nix reste intact, sauf si vous utilisez l' option --force ).
  2. Et enfin, un nixos-rebuild switch!
Anderson Torres
la source
1
Donc, en ce qui concerne l'omission d'un /mntrépertoire, la réponse semble être "créez le vôtre ou montez-le où vous voulez".
Ryne Everett
Quel est le but de l'étape 3? Est-ce que cela rend la monture permanente?
Chris Stryczynski
Oui! Cette étape consiste à enregistrer / mnt / windows-partition dans le fichier (généré par la machine) hardware-configuration.nix. De cette façon, il sera monté au prochain démarrage (après une reconstruction de nixos, bien sûr).
Anderson Torres
8

J'utilise personnellement des udisks pour cela. Cela signifie que si je veux monter une clé USB, je dois simplement la brancher et exécuter:

$ udisksctl mount -b /dev/sdc

Je l'ai aliasé udisksctl mount -bpour udmle rendre encore plus court. L'appareil est ensuite monté /run/media/$USER/$DEVICE_LABELet accessible pour vous.

Je pense que certains outils (par exemple nautilus et ldm ) peuvent le faire automatiquement pour vous.

EDIT : ah, je viens de découvrir que les udisks peuvent également monter automatiquement des appareils.

toogley
la source