Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


💫 Maintainers wanted 💫

spacemacs and sublimious style editing in Atom.


What is it?

Proton (name subject to change) brings the modal editing style of Spacemacs and Sublimious with all its superpowers to Atom.

We get rid of the annoying part of Atom — that being the configuration and package management — and concentrate on the cool bits: its full customization capabilities.


While not ready yet, a manual is slowly getting created here


👜 dotfile friendly configuration

Proton will take care of setting up Atom for you. All you need to do is configure your ~/.proton file — your central configuration point — and Proton will do the rest.

👌 easy to remember keybindings

No one has time to remember a ton of keybindings and then learn another ton for a new tool. Proton leverages Spacemacs mnemonics in which each keybinding is assigned to a specific category:

  • SPC g s will execute [g]it [s]tatus
  • SPC p t will toggle the [p]rojects [t]ree-view

You get the idea!

🔍 discoverable

No time to read through the docs? No problem. Proton is very easily discoverable through the keybindings helper. Just hit SPC and it will pop up:


🔋 batteries included

Atom has a ton of packages but only a subset of them are actually useful. Instead of finding all the good bits yourself, rely on a crowd-configured layer system that does it for you! Every bit of functionality of Proton is encapsulated in layers. Enable what you want and don't care about the rest.

Check out all available layers here.

📦 layer based configuration

Imagine you want to do some JavaScript in Atom but you have no idea what to install and what to set up. Instead of just installing random packages by yourself, you include the :javascript layer and boom! Proton installs all the good packages and configuration for you.


There are 2 ways of installing Proton: You can compile the latest master (which should be fairly stable) or use the apm-published version.


Proton tries to be your unified configuration system. Please use a fresh Atom installation or backup your existing config as Proton will very likely wipe your settings and packages. Alternatively make sure your ~/.proton file contains your current configuration or add ["proton.core.wipeUserConfigs" false] to your ~/.proton. The template is available for download here.

Going full Proton

apm install proton-mode

or through the package manager here:



Running it

lein run -m build/release

# or if you want auto-compile on change:
lein run -m build/dev-repl

will compile the ClojureScript code into JavaScript. Once that's done, go into the plugin/ folder and run

apm install
apm link

Proton should now be installed inside Atom under proton-mode.


Join us on the clojurians slack, channel #proton.