# Maintaining separate Atom install for Juno?

**URL:** <https://discourse.julialang.org/t/maintaining-separate-atom-install-for-juno/30663>\
**Category:** Juno\
**Tags:** question\
**Created:** [November 3, 2019, 6:56pm UTC](https://discourse.julialang.org/t/maintaining-separate-atom-install-for-juno/30663 "2019-11-03T18:56:51Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![djoshea](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/djoshea/32/11118_2.png) [@djoshea](https://discourse.julialang.org/u/djoshea)\
**Post date:** [November 3, 2019, 6:56pm UTC](https://discourse.julialang.org/t/maintaining-separate-atom-install-for-juno/30663/1 "2019-11-03T18:56:51Z")

</div>

Apologies if this has been asked and answered already, wasn’t sure quite what to search for.

I’ve gotten Juno successfully up and running in Atom, but since I use Atom regularly in other non-Julia contexts, I find the Juno related panes annoying when I’m not working on Julia. I’d really like to keep my Atom with Juno separate, or at least initially hidden until I run something that says “show everything Juno related”. So I’m trying to figure out a solution that would do one of the following, and curious if anyone has any suggestions.

1. Start with everything Juno related hidden. This is easy enough with unchecking the “Open default panes on startup” checkbox. But then I’m looking for a single command I can run to “enter Julia mode” and show the console, workspace, documentation browser, plots, etc. all at once in their saved positions.

2. Maintain a completely separate Atom installation just for Julia. This isn’t as desirable as the first, since then I’d have two installs to configure. For this I can search outside of the JuliaLang discourse, but if anyone has gone this route and has any pointers I’d be much obliged.

Thanks! Great work on the Juno IDE!  
Dan

julia-client 0.10.1  
atom 1.41.0  
julia 1.2.0

---

<div class="post-metadata">

**Author:** ![cserteGT3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/csertegt3/32/8283_2.png) [@cserteGT3](https://discourse.julialang.org/u/cserteGT3)\
**Post date:** [November 4, 2019, 2:58pm UTC](https://discourse.julialang.org/t/maintaining-separate-atom-install-for-juno/30663/2 "2019-11-04T14:58:59Z")

</div>

I have the same problem, and the things I found are: an old [issue](https://github.com/atom/atom/issues/5168) at the Atom repo, which suggests, that per-project config is not solved yet, and a workaround: the [atomic-management](https://github.com/harmsk/atomic-management) package, but I haven’t tried it yet.  
One thing to note from an [issue comment](https://github.com/harmsk/atomic-management/issues/40):

> Unfortunately, not being in core has lead to some undesirable side effects. Notably, there is no control over package loading order in Atom. What this means in practice is Atom loads with your global config and then after the Atomic Management package loads, it changes your settings again. This is slow and is jarring to see your project config settings set really late in the window loading process. This is also really undesirable for packages that you want disabled for the open project. Currently, all of your packages are enabled and loaded via the global config only to then have some packages disabled in the project config a moment later. Having this feature in Atom core would make it easier to address these issues.

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [November 4, 2019, 3:11pm UTC](https://discourse.julialang.org/t/maintaining-separate-atom-install-for-juno/30663/3 "2019-11-04T15:11:41Z")

</div>

> [@djoshea](#):
>
> Start with everything Juno related hidden. This is easy enough with unchecking the “Open default panes on startup” checkbox. But then I’m looking for a single command I can run to “enter Julia mode” and show the console, workspace, documentation browser, plots, etc. all at once in their saved positions.

The `Restore Default Layout` should do what you want (except for the toolbar, I suppose).

---

<div class="post-metadata">

**Author:** ![djoshea](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/djoshea/32/11118_2.png) [@djoshea](https://discourse.julialang.org/u/djoshea)\
**Post date:** [November 6, 2019, 4:50pm UTC](https://discourse.julialang.org/t/maintaining-separate-atom-install-for-juno/30663/4 "2019-11-06T16:50:11Z")

</div>

Thanks @cserteGT3 : this might work perfectly for having a separate Julia config, leaving `Open default panes on startup` unchecked in the global config and then reenabling it in the project-specific config. I think I need to manually edit that project-specific config, so I’ll have to figure out what that looks like.

Thanks @pfitzseb, `Restore Default Layout` also works, thanks for pointing it out. I haven’t quite figured out how to setup the default layout the way that I’d like. Specifically, I can’t seem to figure out how to get the panes on the right (e.g. Documentation, Plots, Workspace) to appear as tabs in a single right-side pane, as opposed to having 3 narrow columns with each of these. Maybe it will become clearer how to do this when I start looking at the config `.cson` files.

---

<div class="post-metadata">

**Author:** ![aurelio-amerio](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aurelio-amerio/32/10489_2.png) [@aurelio-amerio](https://discourse.julialang.org/u/aurelio-amerio)\
**Post date:** [November 14, 2019, 2:54pm UTC](https://discourse.julialang.org/t/maintaining-separate-atom-install-for-juno/30663/5 "2019-11-14T14:54:04Z")

</div>

Hello, I’m a bit late but I may be of help!  
If disk space is not a problem, you can install atom in [portable mode](https://flight-manual.atom.io/getting-started/sections/installing-atom/#portable-mode) and have a separate Julia environment. I have a separate Atom installation for Python and Julia and everything works fine for me!

If you prefer to have a single atom install, the package “project manager” is what you are looking for: basically you can specify which packages need to be loaded (or not loaded) on a per project basis. The downside of this approach is that you cannot work simultaneously on projects with different package settings.

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [November 14, 2019, 4:21pm UTC](https://discourse.julialang.org/t/maintaining-separate-atom-install-for-juno/30663/6 "2019-11-14T16:21:21Z")

</div>

Also see

> [@Quick Way to Disable/Enable Juno](https://discourse.julialang.org/t/quick-way-to-disable-enable-juno/31068/2):
>
> There are mainly 2 ways to do this: The first and recommended way is what @mortenpi showed in slack: from [Slack](https://julialang.slack.com/archives/C6A044SQH/p1573313147161100?thread_ts=1573311257.160100&cid=C6A044SQH:) if you can easily access a terminal, you can set ATOM\_HOME to point somewhere other than ~/.atom before launching Atom, e.g. ATOM\_HOME=~/atom-clean atom I actually always put this script into my PATH: [https://github.com/mortenpi/juno-debian/blob/master/src/juno](https://github.com/mortenpi/juno-debian/blob/master/src/juno) so my main Atom environment is clean and if I want Juno, I just launch juno The second is to use [atomic-management](https://github.com/harmsk/atomic-management), w…

I really like @mortenpi’s idea of a `juno` script that starts Atom with a different `ATOM_PATH`.

---

<div class="post-metadata">

**Author:** ![mortenpi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mortenpi/32/158_2.png) [@mortenpi](https://discourse.julialang.org/u/mortenpi)\
**Post date:** [November 14, 2019, 9:49pm UTC](https://discourse.julialang.org/t/maintaining-separate-atom-install-for-juno/30663/7 "2019-11-14T21:49:20Z")

</div>

For Ubuntu users: I actually put the script up as an installable package in a personal [Launchpad repository](https://launchpad.net/~mortenpi/+archive/ubuntu/julia-meta). So on Ubuntu (18.04?) you should be able to install the script easily to `/usr/bin` by just running:

```nohighlight
sudo add-apt-repository ppa:mortenpi/julia-meta
sudo apt update
sudo apt install juno-launcher

```

Under the hood the `.deb` package is pretty trivial actually. It just

- Puts a `juno` launcher script into `/usr/bin` that sets `ATOM_HOME=~/.juno` and then launches Atom
- Adds a [`.desktop` file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) so that it would show up in the GUI.

I am not particularly experienced with packaging for Ubuntu/Debian, but I have a hunch that currently it _might_ be installable only on 18.04 (Bionic Beaver). If there is interest from people running other Ubuntu version, you can ping me and I can look into pushing packages for other Ubuntu versions into the repository as well.

---

<div class="post-metadata">

**Author:** ![tencnivel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tencnivel/32/8662_2.png) [@tencnivel](https://discourse.julialang.org/u/tencnivel)\
**Post date:** [July 22, 2021, 7:39pm UTC](https://discourse.julialang.org/t/maintaining-separate-atom-install-for-juno/30663/8 "2021-07-22T19:39:03Z")

</div>

Here is what I do to launch a separate atom configuration for my nodejs or python development.  
From the command line:  
`ATOM_HOME=/home/myuser/.atom_for_python atom`
