Atom packages list without disabled ones - atom-editor

How can I get a list of all installed and activated plugins in Atom?
I can use apm list --installed --bare to get all installed packages but I don't want to include disabled ones. And I have a lot of disabled packages.

go to atom -> install new package -> and you will see all the installed and activated packages first

Currently apm can't list only enabled packages. You can perhaps use package-manager-commands and list all enabled packages to disable:
package-manager:disable-package

You can use ::getActivePackages() which will return list of active packages.
See official documentation here:
getActivePackages()
Hope this will help you some way (y).

apm list --installed --enabled
as of apm == 1.18.12.

Related

Julia: How to deal with ERROR: Unsatisfiable requirements detected for package?

When I install packages, I sometimes encounter this error. What is the issue and how to resolve it?
Learn how to use the ]activate command.
Just create a new directory somewhere, e.g. c:/a_new_directory then activate
]activate c:/a_new_directory
Once activated, you can install whatever packages you need since it's a fresh environment.
Every time you want to use the same set of packages together, just activate that directory.
Try not to install everything using add try to do activate before add.

Julia: Use an older version of a package

I am really new to Julia and confused about using an old version of the SISL Vec package.
I am trying to setup ngsim_env and their instructions require you to use an older v0.1.0 of Vec. But, when I followed the instructions to install the Vec package and then checkout the v0.1.0 tag it didn't work.
Here's what I did
$ julia ../build.jl for some package which includes this block
packages = keys(Pkg.installed())
if !in("Vec", packages)
Pkg.clone("https://github.com/tawheeler/Vec.jl.git")
end
Note: This git URL actually goes to the SISL Vec page.
cd ~/.julia/packages/Vec
git fetch tags
git checkout v0.1.0
I did a bunch of other installations with many other packages. At some point I noticed that there is a package ~/.julia/dev/Vec and ~/.julia/packages/Vec. The one in dev has the correct v0.1.0 code and the one in packages has the newer wrong code. When I tried to use other packages that needed the older Vec they were throwing errors and the paths were to files in the packages directory.
I tried Pkg.rm("Vec"). This did something to the project manifest. After nothing worked, every package would throw errors like KeyError: key "Vec" not found and Pkg.add("Vec") nor original Vec installation helped. I even tried removing both the Vec directories from ~/.julia but that didn't help.
I guess a big question is why does Julia put some packages into packages/ and others into dev/ and how to control which one's get used if the same package appears in both places like Vec is.
Would greatly appreciate any assistance, totally confused.
The dev command fetches a full clone of the package to ~/.julia/dev/
via the docs. The only things I have in my dev directory there are the ones I am developing on my own.
I think that triggered when you did a check out manually with git checkout.
Accordingly:
to stop tracking a path and use the registered version again, use free
Try deleting the packages, and whipping mentions of Vec.jl from your manifest:
(v1.0) pkg> rm Vec
(v1.0) pkg> add https://github.com/tawheeler/Vec.jl.git#0.1.0
In general, try using Pkg when possible, cause it does a lot of house keeping magic in the back
(Also, the repl interface with pkg makes everything easier, so hit ] from a blank julia> to get there. And a quick Pkg.status() or ] st will show you what youre tracking and whats in dev and what version you have pinned, etc.)

How to find jupyter <nbextension require path> for Table of Contents (2) extension?

I'd like to install and enable Table of Contents (2) plugin using command-line.
The docs suggest that I can do the following
jupyter nbextension enable <nbextension require path>
How do I find this path for this extension?
Easy solution:
1/ Visit this unofficial list of nbextensions:
https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/nbextensions.html
and pick the extension you want to enable. Say e.g. that I want to enable "Collapsible Headings", then
2/ type:
jupyter nbextension enable collapsible_headings/main
If the extension is enabled you will see an OK message.
So in general type:
jupyter nbextension enable <name_of_extension>/main
Most of the times it will work for you.
Based on #jfbercher's comemnt in jupyter_contrib_nbextensions#947:
jupyter nbextension install <url>/toc2.zip --user
jupyter nbextension enable toc2/main
If a non-default directory is used in nbextensions_configurator, it can be obtained like the code here:
nbextension_dirs = nbapp_webapp.settings['nbextensions_path']
Yeah this does seem like a bit of an oversight. I tried to install the configurator... but had issues.
The approach that worked for me was to look in ~/.local/share/jupyter/nbextensions or similar (you might need to use a docker run image /bin/bash if you are drinking too much koolaid - or your employer is forcing you to. ).
There is then a .js file in various directories which I think correspond to the extension names. E.g. hinterland/hinterland.js means the extension is called hinterland/hinterland.

Does guile have a package manager?

I'd like to discover the guile ecosystem. I looked at how to install a library and I didn't find a package manager, like python's pip. Does such a thing exist for guile ?
Looks like guildhall is the closest thing to pip out there. There has been some discussion on the Guile mailing lists recently around it. The posts by Wingo, Boubekki, Zaretskii, and a few others who are heavily involved with Guile development indicate a push towards making guildhall an upstream source for something called Guix that is a more general package manager intended to be independent of platform.
If you consult the Guix list of packages you will see guile there and a number of other guile related items (e.g. guile-json, guile-ncurses, etc..). I'd give that a shot. Otherwise you're on your own and you'll have to either fall back to the OS package manager or pull down the source yourself, build, and install.
Full disclosure: I haven't tried Guix myself but I've been meaning to. I'd be very interested to see how it turns out for you so if you do go this route it'd be awesome if you could provide an update with your Guix experience.
There's also been a recent call to update the libraries page and from a quick inspection there's been some small number of updates that you may find useful.
#unclejamil This is an update of my attempt to install the guix package manager.
Documentation
First of all, the links:
the official page: https://www.gnu.org/software/guix/
the download page: http://alpha.gnu.org/gnu/guix/ (guix-the-system and guix the package manager are listed together)
Installation (Debian)
Guix needs Guile-2.0-dev and more dependencies, which are present in Debian's repositories:
apt-get install guile-2.0-dev guile-2.0 libgcrypt20-dev libbz2-dev libsqlite3-dev autopoint
Download guix. See the above links to download a binary. Or get the sources:
git clone git://git.savannah.gnu.org/guix.git
The installation goes with a classical ./configure && make && make install.
make will take several minutes and make install needs root access. If you install from source, make will build guile objects of the 346 base packages (python, zsh, abiword,…) so it'll take a long time (the database is included into guix-the-program, so we must do that. You can still tweak this list in the Makefile, at MODULES) .
Note: Your current directory must not contain non ascii characters.
Note: see also this complete tutorial, with the focus on how to install guix locally, i.e. not to run make install: http://dustycloud.org/blog/guix-package-manager-without-make-install/
Usage
To install packages with guix, we need a running server.
The first method, for testing purposes, is simply to run the server in a terminal:
sudo guix-daemon
and the client in another one:
guix package -s "guile.*curses" # search with regexps
sudo guix package -i guile-ncurses # install. All start with the "package" command.
For the proper method, see https://www.gnu.org/software/guix/manual/html_node/Build-Environment-Setup.html#Build-Environment-Setup
To be continued.
This answer is a community wiki, feel free to complete it, thanks !
I am building Guix right now and encountered the same error about not finding guile-2.0. I managed to fix it by installing the development files for guile-2.0
sudo apt-get install guile-2.0-dev
I encountered some more errors later on and it just meant I needed to install the development files for it.

Unpublish package from Atmosphere

I've published a few packages in beta state to Atmosphere. Now, in development it turned out some of them are useless (they were consumed by another one). How can I unpublish them?
There is a temporary, undocumented way to do this:
Log into the atmosphere website with the same details you used to publish your package then in your javascript console in chrome, safari or firefox run:
Meteor.call("deletePackage","<your package name>",function(err,result){
console.log(result || err)
});
Replace <your package name> with the name of your package, the same that you could run mrt add <your package name> with.
It doesn't seem like there is a way to do this right now. The only non-local functions are publish and release:
https://github.com/oortcloud/meteorite/blob/master/lib/meteorite.js
However, I agree that this is a feature that definitely needs to be added, so that at least some people who want to clean things up have the ability to do so. Otherwise we'll end up in package hell like npm :)
You should open an issue in the meteorite repo.
I think you just remove them from your smart.json file manually and it will "unpublish" them

Resources