Como montar automaticamente / montar permanentemente dispositivos externos no NixOS

12

Eu tenho um pendrive e uma partição de disco rígido NTFS que gostaria de usar no NixOS. Em alguma outra distribuição, eu o montaria usando ntfs-3g em / mnt. Mas no NixOS, o diretório não existe; Suponho que o NixOS tenha alguma outra maneira canônica e / ou local para fazer isso.

No NixOS, como configurar a montagem automática de partições externas, preferencialmente usando o configuration.nix?

stefkin
fonte
abrir nautilusse você tem services.xserver.desktopManager.gnome3.enable = true;na sua configuration.nixe você verá a unidade e ele vai ficar montado na/run/media/$USER/<drive name>
Boris

Respostas:

12

Bem, costumo usar bashmountou udisksctlmontar pen drives. Eles serão montados /run/media/$(user name)/$(drive label or UUID).

Mas se você estiver falando de um disco rígido interno ou partição em um disco rígido local, a maneira mais simples é:

  1. Crie um diretório de sua preferência, como / mnt / windows-partition
  2. Monte a partição desejada, digamos / dev / sdn5, nesse diretório:

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

  1. Execute nixos-generate-config . Ele atualizará o /etc/nixos/hardware-configuration.nix para corresponder à nova configuração da partição (e o configuration.nix permanece intocado, a menos que você use a opção --force ).
  2. E, finalmente, um nixos-rebuild switch!
Anderson Torres
fonte
1
Portanto, com relação à omissão de um /mntdiretório, a resposta parece ser "faça você mesmo ou monte-o onde quiser".
Ryne Everett
Qual é o objetivo da etapa 3? Isso torna a montagem permanente?
Chris Stryczynski
Sim! Essa etapa é registrar / mnt / windows-partition no arquivo (gerado pela máquina) hardware-configuration.nix. Dessa forma, ele será montado na próxima inicialização (depois de um nixos-rebuild, é claro).
Anderson Torres
8

Eu pessoalmente uso udisks para isso. Isso significa que, se eu quiser montar um pendrive, basta conectá-lo e executar:

$ udisksctl mount -b /dev/sdc

Eu alias udisksctl mount -bpara udmtorná-lo ainda mais curto. O dispositivo é então montado /run/media/$USER/$DEVICE_LABELe acessível para você.

Eu acho que algumas ferramentas (por exemplo, nautilus e ldm ) podem fazer isso automaticamente por você.

EDIT : ah, acabei de descobrir que os udiscos também podem montar dispositivos automaticamente.

toogley
fonte