This is documentation for the development version of the project, aka master branch. If you installed Gramine from packages, documentation for the stable version is available at

Development setup

For contributors, we strongly suggest using the following configuration according to your editors.

Emacs configuration

No change needed. See .dir-locals.el.

Vim configuration

Please add the following script to the end of your ~/.vimrc, or place in ~/.vim/after/ftplugin/c.vim if you have other plugins.

let dirname = expand('%:p:h')
let giturl = system('cd '.dirname.'; git config --get remote.origin.url 2>/dev/null')
if giturl =~ 'gramineproject/gramine'
   set textwidth=100 tabstop=4 softtabstop=4 shiftwidth=4 expandtab

au BufRead,BufNewFile *.rst imap <A-Space> <Space>\|~\|<Space>
au BufRead,BufNewFile *.rst set textwidth=80


Due to security concerns, we do not suggest using Vim modelines or .exrc.