Maintaining separate Atom install for Juno?

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

3 Likes

I have the same problem, and the things I found are: an old issue at the Atom repo, which suggests, that per-project config is not solved yet, and a workaround: the atomic-management package, but I haven’t tried it yet.
One thing to note from an issue comment:

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.

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

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.

1 Like

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 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.

1 Like

Also see

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

1 Like

For Ubuntu users: I actually put the script up as an installable package in a personal Launchpad repository. So on Ubuntu (18.04?) you should be able to install the script easily to /usr/bin by just running:

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 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.

2 Likes

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