Как автоматически монтировать / постоянно монтировать внешние устройства на NixOS

12

У меня есть флешка и раздел жесткого диска NTFS, который я хотел бы использовать в NixOS. В другом дистрибутиве я бы подключил его с помощью ntfs-3g в / mnt. Но в NixOS этот каталог не существует; Я предполагаю, что у NixOS есть какой-то другой канонический способ и / или место для этого.

В NixOS, как настроить автоматический монтирование внешних разделов, предпочтительно с помощью configuration.nix?

stefkin
источник
открыть , nautilusесли у вас есть services.xserver.desktopManager.gnome3.enable = true;в вашем , configuration.nixи вы увидите диск и он будет получать установленный на/run/media/$USER/<drive name>
Boris

Ответы:

12

Ну, я обычно использую bashmountили udisksctlдля подключения флешек . Они будут установлены в /run/media/$(user name)/$(drive label or UUID).

Но если вы говорите о внутреннем жестком диске или разделе в локальном жестком диске, самый простой способ:

  1. Создайте каталог по вашему выбору, как / mnt / windows-partition
  2. Смонтируйте нужный раздел, скажем / dev / sdn5, в этот каталог:

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

  1. Запустите nixos-generate-config . Он обновит /etc/nixos/hardware-configuration.nix в соответствии с новой конфигурацией раздела (и файл configuration.nix останется без изменений, если вы не используете опцию --force ).
  2. И, наконец nixos-rebuild switch,!
Андерсон Торрес
источник
1
Что касается пропуска /mntкаталога, ответ, кажется, «создайте свой собственный или смонтируйте его где угодно».
Райн Эверетт
Какова цель шага 3? Делает ли это крепление постоянным?
Крис Стрычински
Ага! Этот шаг состоит в том, чтобы зарегистрировать / mnt / windows-раздел в (сгенерированном компьютером) файле hardware-configuration.nix. Таким образом, он будет смонтирован при следующей загрузке (конечно, после nixos-rebuild).
Андерсон Торрес
8

Я лично использую удиски для этого. Это означает, что если я хочу подключить USB-накопитель, мне просто нужно подключить его и запустить:

$ udisksctl mount -b /dev/sdc

Я сделал псевдоним, udisksctl mount -bчтобы udmсделать его еще короче. Устройство будет установлено /run/media/$USER/$DEVICE_LABELи доступно для вас.

Я думаю, что некоторые инструменты (например, nautilus и ldm ) могут сделать это автоматически для вас.

РЕДАКТИРОВАТЬ : ах, я только что узнал, что udisks также может автоматически монтировать устройства.

toogley
источник