## Store your Password in the OSX Keychain Open the Terminal app and enter ```shell security add-generic-password -a ${USER} -s gocryptfs -w ``` Type or paste in your gocryptfs password when prompted. ## Create the launchd daemon plist file Now launch the text editor of your choice like Textmate and copy and paste this code: ```xml KeepAlive Crashed Label gocryptfs.start ProgramArguments /usr/local/bin/gocryptfs --extpass="security find-generic-password -s gocryptfs -w" /Users/your-username/path/to/encrypted/folder /Users/your-username/path/to/plain/folder RunAtLoad ``` You need to replace some values: * `your-username`: Replace this with your real username. If you are unsure what your username is, open the Terminal app and type `echo $USER` and hit enter. The Terminal will output your username. * `/path/to/encrypted/folder`: Replace this with the real location of your encrypted files. I assume here that your files are located somewhere in the user's home directory. If your files are located for instance on an external drive please replace the full path `/Users/your-username/path/to/encrypted/folder` * `/path/to/plain/folder`: Similar to the encrypted folder you have to enter the location of the folder where your unencrypted files should be shown. Save the editor content as a *.plist file under `~/Library/LaunchAgents/gocryptfs.plist` Log out and log in again to see if it works. If you have issues getting it working, you can remove the comments (``) from debugging section. Don't forget to adjust the location of the debug log file. If you now re-login you will get some information in the log file that might help to resolve your issues. You may also have to remove `"` in the line pertaining to the `--extpass` argument, which then becomes: ``` --extpass=security find-generic-password -s gocryptfs -w ``` ## How to activate Spotlight search on the mounted volume In the template plist file above, between the line containing the `--extpass` string and the line containing `/path/to/encrypted/folder`, insert the following lines: ``` -allow_other -ko local ``` Then, when the volume is mounted, run the following command: ``` mdutil -i on /Users/your-username/path/to/plain/folder ``` If you then run `mdutil -sa`, it should display a list of volumes, including the mounted volume followed by the status `Indexing enabled`. Indexing can take a few hours. You can click on Spotlight icon on the tray and type a few letters to see the indexing progress bar.