Raycast has a feature to import/export preferences in a .rayconfig
file format. This isn't ideal for use in a dotfiles-esque Git repository since it would be difficult to compare changes with a compressed file. Also, unfortunately, syncing is only possible on a pro subscription and only through Raycast's cloud service.
To get a more useful JSON file from the .rayconfig
(example shown in example.rayconfig.json), you will have to first have to export a decrypted version. Go to Settings > Extensions > Raycast > Export Settings & Data and under "Export Password," which by default is 12345678, you will want to delete that.
After that, run the "Export Settings & Data" command. You should be able to export all of the preferences (Settings, Extensions, Floating Notes, Script Directories, Snippets) except Quicklinks without setting a password.
Then, in terminal, run gzip --decompress --keep --suffix .rayconfig NAME_OF_FILE.rayconfig and you should get a JSON file similar to example.rayconfig.json.
After that, you can get it back into .rayconfig format using gzip --keep --suffix .rayconfig NAME_OF_FILE and then run "Import Settings & Data" command to get it back.
As for syncing, I am not sure of a way to do it. Deeplinks may be a path but it still requires some input from the user (raycast://extensions/raycast/raycast/export-settings-data and raycast://extensions/raycast/raycast/import-settings-data). Let me know if you have any thoughts
Sorry friend, I spent some time trying to figure it out but couldn't figure out an elegant way to do it. I switched to Alfred which has reasonable configuration settings. I used
gz
at the time to decompress it — there are online tools to decompress withgzip
if you have the plaintext.