# Atom

Atom is an open-source text editor developed by GitHub that is licensed under the MIT License. It is written predominantly in CoffeeScript and JavaScript and uses Node.js as its runtime environment. It is extensively extensible via use of over 4,000 available packages and 1,000 themes. It uses its own package manager for managing these packages and themes, apm.

## Installation

The following packages provide Atom:

- atom
- atom-bleedingAUR
- atom-editorAUR
- atom-editor-archAUR
- atom-editor-binAUR
- atom-editor-gitAUR
- atom-editor-betaAUR
- atom-editor-beta-binAUR
- atom from the unofficial atom repository.
  Note: Bugs regarding binary packages from the atom repository can be reported on GitHub. Bugs regarding Atom itself should be reported upstream.
- atom-bleeding/atom-editor-base from the unofficial pkgbuild-current repository. Further details can be found in its README here.
  Note: Bugs regarding binary packages from the pkgbuild-current repository can be reported on GitHub. Bugs regarding Atom itself should be reported upstream.

## Packages

Its packages can be installed from within Atom itself or from the command-line using the apm command. The correct syntax of apm is:

    $ apm install package_name1 package_name2 package_name3 ...

Several packages come preinstalled with Atom, notable packages that are not, include:

- build which enables Atom to compile source code.
- git-plus which allows one to manage git repositories from within Atom.
- language-archlinux which provides syntax-highlighting for PKGBUILDs (if installed along with the language-unix-shell package) along with support for running several tests and other actions on PKGBUILDs without a terminal (including makepkg, namcap, updpkgsums, etc.).
- markdown-writer which turns Atom into an efficient Markdown writer.
- script which enables Atom the ability to run scripts, based on file names.
- terminal-plus which adds an embedded terminal window to Atom.

## Troubleshooting

### Environment variables not sourced

You may experience some problems with packages using environments variables, like go-plus (`$GOPATH not found`). Moreover, it only appears when atom is opened by your file manager. (Because this one is DBUS-spawned, thus it does not inherit variables defined in `.bashrc`). A solution is to make available your variables to DBUS-spawned processes, by following Systemd/User#Environment variables.

More info on this issue in Environment variables#Per user.

Categories:

- Development
- Text editors