Inaimathi
Inaimathi

Reputation: 14065

Error installing emacs-redo+ with nix package manager

Running nix-env -i emacs-redo+ gives me an error.

inaimathi@self:~$ nix-env -i emacs-redo+
error: selector ‘emacs-redo+’ matches no derivations
inaimathi@self:~$

But the package both seems to exist, and is visible.

inaimathi@self:~$ nix-env -qa | grep emacs-redo
emacs-redo+-20131117.551
inaimathi@self:~$ 

Giving the exact package name, and escaping the + gives me the same error.

inaimathi@self:~$ nix-env -i emacs-redo+-20131117.551
error: selector ‘emacs-redo+-20131117.551’ matches no derivations
inaimathi@self:~$ nix-env -i emacs-redo\+
error: selector ‘emacs-redo+’ matches no derivations
inaimathi@self:~$ nix-env -i emacs-redo\+-20131117.551
error: selector ‘emacs-redo+-20131117.551’ matches no derivations
inaimathi@self:~$ 

What am I doing wrong?

Upvotes: 1

Views: 275

Answers (1)

Peter Simons
Peter Simons

Reputation: 1850

I'm not sure how you've made the command nix-env -qa | grep emacs-redo succeed, but my attempts to locate the package that way all show nothing:

$ git checkout -q master && git log -1 --oneline 
310aadc Merge pull request #12557 from ryanartecona/nixos-manual-custom-options
$ nix-env -qa | grep -i redo
exit code: 1

$ git checkout -q release-15.09 && git log -1 --oneline 
5a4e183 linux: patch CVE-2016-0728 (close #12492)
$ nix-env -qa | grep -i redo
exit code: 1

$ git checkout -q release-14.12 && git log -1 --oneline 
9d6ba7d keepassx: 0.4.3 -> 0.4.4
$ nix-env -qa | grep -i redo
haskell-heredoc-ghc7.8.3-0.2.0.0-profiling-shared
haskell-heredoc-ghc7.8.3-0.2.0.0-shared
haskell-heredoc-ghc7.8.3-0.2.0.0-shared

As far as I can tell, there is no emacs-redo, hence it's not surprising that nix-env -i won't work for that package.

However, if you're following the master branch of the Nixpkgs git repository (a.k.a. the unstable channel), then you'll find that package in the emacsPackagesNg package set as follows:

$ nix-env -qaP -A emacsPackagesNg | grep -i redo
emacsPackagesNg.redo-plus    emacs-redo-plus-20131117.551

If you want to use that, then you may have to convert your Emacs installation to that new package set entirely -- I don't believe that you easily mix packages from the old and the new Emacs package set.

Anyhow, emacsPackagesNg is work-in-progress and it may not be completely reliable yet, although https://github.com/NixOS/nixpkgs/issues/11503 suggests that people do use it successfully already.

Upvotes: 1

Related Questions