;;;;; title: Mounting music dir before MPD tags: systemd, mpd, config date: 2013-11-24 14:03 format: md ;;;;; Systemd allows you to specify a program to run before running the main daemon (or program) with `ExecStartPre`. This can, for instance, be used to run a mount command before starting `mpd`. By adding under the `[Service]` heading: ExecStartPre=/usr/bin/mount /mnt/music Now I have already setup my `fstab` to know what to mount on `/mnt/music`, but of course that shouldn't be necessary. According to the `systemd.service(5)` man page it uses the same syntax as `ExecStart`, which tells us that one must use absolute file names since no shell is used to start them. This also has the effect of stopping the `ExecStart` part from the `.service` from being executed if the `ExecStartPre` doesn't finish successfully. Which works out great in my case as I don't want to start `mpd` if my music directory didn't mount. If you want to ignore the exit status of (one of) the `ExecStartPre` commands you can prefix it with a `-`, for example: ExecStartPre=-/usr/bin/mount /mnt/music Which would continue running the `ExecStart` even if mounting failed. Also know that there can be multiple `ExecStartPre` options and they will be executed serially, so for example: ExecStartPre=/usr/bin/mount /mnt/music ExecStartPre=-/usr/bin/mount /mnt/music2 This would fail if `/mnt/music` doesn't mount, but would continue just fine if `/mnt/music` did and `/mnt/music2` didn't.