I have a NAS which supports NFS, which I use to store all of my photos, music and other media on my local network.
This gives me OS-independent to all of these files, and frees up drive space on my laptops and desktop - most of which are dual-booted.
On Windows it's fairly straightforward to establish a network drive, but on Linux-based systems - at least on the Debian- and Arch- based distros I find myself using - the process is a little more involved.
Here I'll use `systemd` to automatically mount a shared folder when they're accessed by a client machine.
There are other ways to do this, but as my machines predimonantly run Debian- or Arch-derived Linux distributions, `systemd` is a choice that works for both.
This post is largely based on the description on the [ArchWiki](https://wiki.archlinux.org/title/NFS#As_systemd_unit).
My NAS' hostname is `sleeper-service`, and I'll be mounting the `Music` shared folder.
Don't ask me why `systemd` is like this - I think it's silly too.
After creating the unit file, we then need to edit it and fill out some information, specifying where the remote filesystem is and also when we need to initialise it.
Here I used a name instead of an address for the `What=` part - I have an entry for `sleeper-service` configured in `/etc/hosts`, but you can equally use an IP address just as well.
```
[Unit]
Description=Mount music at boot
[Mount]
What=sleeper-service:/volume1/Music
Where=/sleeper-service/Music
Options=vers=3
Type=nfs
TimeoutSec=30
[Install]
WantedBy=multi-user.target
```
Once we've created this, we can try to manually mount the shared folder by starting the unit: