GithubHelp home page GithubHelp logo

emacs-overlay's People

Contributors

accelbread avatar adisbladis avatar andersk avatar antifuchs avatar benjaminor avatar bhankas avatar bqv avatar collares avatar damiencassou avatar ericdallo avatar etu avatar fbergroth avatar holzingk avatar jasonjckn avatar jian-lin avatar justinabrahms avatar leungbk avatar lheckemann avatar luigipiucco avatar lukebfox avatar marsam avatar mic92 avatar purcell avatar rossabaker avatar talyz avatar unkn avatar vinszent avatar vonfry avatar yilinwei avatar zarthross avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

emacs-overlay's Issues

"Old" melpa package used, instead of new one

Hi,

I asked the problem in irc (sorry @adisbladis but your comment didn't help me) already, but
I do not understand why lsp-mode package is from august, while there is a newer package around.

To reproduce:

{ config, pkgs, ... }:

let
  pkgsWithOverlay = import <nixpkgs-unstable> {
    overlays = [
      (import (builtins.fetchTarball {
        url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
      }))
    ];
  };

  #emacsWithCustomPackages
  emacsPkgs = epkgs: [
    (builtins.trace "===> ${epkgs.melpaPackages.lsp-mode.name}" epkgs.melpaPackages.lsp-mode)
  ];

  emacsWithOverlay = pkgsWithOverlay.emacsWithPackagesFromUsePackage {
    config = builtins.readFile dotEmacs; # builtins.readFile ./emacs.el;
    # Package is optional, defaults to pkgs.emacs
    package = pkgsWithOverlay.emacsGit;
    # Optionally provide extra packages not in the configuration file
    extraEmacsPackages = emacsPkgs;
  };

  dotEmacs = pkgs.writeText "dot-emacs" ''
  '';

  testEmacs = pkgs.writeDashBin "test-emacs" ''
    exec ${emacsWithOverlay}/bin/emacs -q -l ${dotEmacs} "$@"
  '';
in {
  environment.systemPackages = [
    testEmacs
  ];
}

Trace gives the output:

trace: ===> emacs-lsp-mode-20190828.1641

while there is a October version hanging around in melpa.

Cheers :_)

issue with protobuf-mode

Installing protobuf-mode from melpa-stable with the the latest overlay (94ac129), I get the following error:

building '/nix/store/gbfpcs5mzxmvl58960mh9id0ldqzhy3v-emacs-protobuf-mode-3.12.0.-1.1.drv'...
unpacking sources
unpacking source archive /nix/store/27i7nj087gb4cr9as283f3wczzkvwxkx-source
source root is source
patching sources
configuring
no configure script, doing nothing
building
Invalid version syntax: `3.12.0.-1.1'
builder for '/nix/store/gbfpcs5mzxmvl58960mh9id0ldqzhy3v-emacs-protobuf-mode-3.12.0.-1.1.drv' failed with exit code 255
cannot build derivation '/nix/store/99x2id2in0i6jcnnjf43znlf8lg59wgr-emacs-with-packages-26.3.drv': 1 dependencies couldn't be built

is this an issue with protobuf-mode?

seq from elpa seem to conflict (infinite recursion) with seq included in emacsUnstable

I have switched to emacsUnstable and immediately started having issues with seq package from elpa which is now also included in emacs 27:

Debugger entered--Lisp error: (error "Lisp nesting exceeds ‘max-lisp-eval-depth’")
  seq-subseq((24372 49279 730919 565000) 0 2)
  cl-subseq((24372 49279 730919 565000) 0 2)
...
  seq-subseq((24372 49279 730919 565000) 0 2)
  cl-subseq((24372 49279 730919 565000) 0 2)
  org-file-newer-than-p("~/.emacs.d/config.el" (24372 49194 929518 551000))
  org-babel-load-file("~/.emacs.d/config.org")
  eval-buffer(#<buffer  *load*> nil "/home/alex/.emacs.d/init.el" nil t)  ; Reading at buffer position 3253
  load-with-code-conversion("/home/alex/.emacs.d/init.el" "/home/alex/.emacs.d/init.el" t t)
  load("/home/alex/.emacs.d/init" noerror nomessage)
  startup--load-user-init-file(#f(compiled-function () #<bytecode 0x711b25>) #f(compiled-function () #<bytecode 0x711b39>) t)
  command-line()
  normal-top-level()

I found similar issues in other projects (doomemacs/doomemacs#1990 (comment)). Evaluating the definition from doomemacs/doomemacs#1990 (comment) seems to fix the issue. Is there a way to remove the dependency on elpa seq in emacsUnstable?

emacsGcc compilation errors

All package compilation output in *Async-native-compile-log* is resulting in,

x86_64-unknown-linux-gnu-gcc-9.3.0: fatal error: cannot execute ‘as’: execvp: No such file or directory
compilation terminated.

How to use this with configuration.nix/EXWM

Hey!

I'm super happy to have found this overlay, but I don't quite understand how to set this up with configuration.nix and EXWM. It seems that whatever I try, EXWM still launches with emacs 26.3.

I've been looking through the issues and what I have found of documentation, but can't really make heads or tails of it.

In short: how do I set this up in configuration.nix such that EXWM launches using emacsUnstable rather than the default emacs which is available from nixpkgs (26.3)?

I'm more than happy to answer any questions you might have, but I'm not sure exactly where to start.

Cheers!

nix-env -u upgrades from emacs-27.1 to emacs-27.1-nox

See the following output

$ nix-env --dry-run -u
(dry run; not doing anything)
unpacking 'https://github.com/nix-community/emacs-overlay/archive/master.tar.gz'...
...
upgrading 'emacs-unstable-emacs-27.1' to 'emacs-unstable-emacs-27.1-nox'
...
these derivations will be built:
...
  /nix/store/i9gl603ichd112x8n7kw41x4dv2zlhsg-emacs-unstable-emacs-27.1-nox.drv
...

Here, nix-env is trying to upgrade from emacs-27.1 to emacs-27.1-nox, which is not what I would expect. The following is the section on versions from the nix-env manpage.

   Versions
       The upgrade operation determines whether a derivation y is an upgrade of a derivation x by
       looking at their respective name attributes. The names (e.g., gcc-3.3.1 are split into two
       parts: the package name (gcc), and the version (3.3.1). The version part starts after the
       first dash not followed by a letter.  x is considered an upgrade of y if their package
       names match, and the version of y is higher that that of x.

       The versions are compared by splitting them into contiguous components of numbers and
       letters. E.g., 3.3.1pre5 is split into [3, 3, 1, "pre", 5]. These lists are then compared
       lexicographically (from left to right). Corresponding components a and b are compared as
       follows. If they are both numbers, integer comparison is used. If a is an empty string and
       b is a number, a is considered less than b. The special string component pre (for
       pre-release) is considered to be less than other components. String components are
       considered less than number components. Otherwise, they are compared lexicographically
       (i.e., using case-sensitive string comparison).

       This is illustrated by the following examples:

           1.0 < 2.3
           2.1 < 2.3
           2.3 = 2.3
           2.5 > 2.3
           3.1 > 2.3
           2.3.1 > 2.3
           2.3.1 > 2.3a
           2.3pre1 < 2.3
           2.3pre3 < 2.3pre12
           2.3a < 2.3c
           2.3pre1 < 2.3c
           2.3pre1 < 2.3q

If I understand it correctly, nix-env parses the versions as [27, 1, ''] and [27, 1, 'nox'] respectively, where the empty string is less than the string nox. My suggestion would be to move the nox part of the name to appear before the version number instead, like so: emacs-unstable-emacs-nox-27.1. This also matches the naming of the other emacs versions:

$ nix-env -qaP 'emacs.*'
nixpkgs.emacs25                    emacs-25.3
nixpkgs.emacs                      emacs-26.3
[...]
nixpkgs.emacs25-nox                emacs-nox-25.3
nixpkgs.emacs-nox                  emacs-nox-26.3
nixpkgs.emacsUnstable              emacs-unstable-emacs-27.1
nixpkgs.emacsUnstable-nox          emacs-unstable-emacs-27.1-nox

Emacs does not load ~/.emacs.d/init.el

When I use this overlay configured like so, Emacs does not load ~/.emacs.d/init.el
I would expect this to work.

  myEmacsConfig = /Users/tony/.emacs.d/init.el;
emacsWithPackagesFromUsePackage {
        config = builtins.readFile myEmacsConfig;
        package =
          if pkgs.stdenv.isDarwin then pkgs.emacsMacport else pkgs.emacs;
       extraEmacsPackages =
          epkgs: with epkgs;
            [] ++
            [
              pkgs.direnv
              pkgs.editorconfig-core-c
              pkgs.emacs-all-the-icons-fonts
              pkgs.nixfmt
              pkgs.python3 # for treemacs
              pkgs.ripgrep
              pkgs.shellcheck
              pkgs.sqlite # for dash-docs
            ];
      }

I have cribbed this workaround from someone else's config.
This works, but it feels like a hack.

emacsWithPackagesFromUsePackage {
        config = builtins.readFile myEmacsConfig;
        package =
          if pkgs.stdenv.isDarwin then pkgs.emacsMacport else pkgs.emacs;
        override = epkgs: epkgs // {
          my-config = (pkgs.runCommand "init.el" {} ''
            mkdir -p $out/share/emacs/site-lisp
            cp -r ${myEmacsConfig} $out/share/emacs/site-lisp/default.el
          '');
        };
        extraEmacsPackages =
          epkgs: with epkgs;
            [] ++
            [ my-config ] ++
            [
              pkgs.direnv
              pkgs.editorconfig-core-c
              pkgs.emacs-all-the-icons-fonts
              pkgs.nixfmt
              pkgs.python3 # for treemacs
              pkgs.ripgrep
              pkgs.shellcheck
              pkgs.sqlite # for dash-docs
           ];
      }

macOS Blank Frame

I'm placing a link here to the report of a problem with emacsGit that has been reported upstream.
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39883

(I am not the reporter on the GNU bug tracker - thank you to that person!)

Based on the discussions on the GNU bug tracker, this seems to be a Nix-specific issue. It's not clear (at the time I'm posting this) whether it will be resolved upstream, or whether it's something that the Nix macOS ecosystem will have to address.

emacsGcc deffered compliation fails

First of all thanks for packaging emacsGcc!

Now that libgccjit is in unstable I was able to compile emacsGcc just find and so far it's been working well however emacs crashed when I tried setting (setq comp-deferred-compilation t) first thing in my .emacs. It looks like the immediate cause is due to all the resulting *.eln files being empty. When I try compiling any file without loading it using native-compile-async I see the following error for every file compiled:

aarch64-unknown-linux-gnu-gcc-9.3.0: fatal error: cannot execute ‘as’: execvp: No such file or directory compilation terminated.

I tried adding binutils to my environment but than that leads to errors like:

/nix/store/bmjqkgnj34c0k1bsvralz0dr6xvyfgzb-binutils-2.31.1/bin/ld: cannot find crti.o: No such file or directory
/nix/store/bmjqkgnj34c0k1bsvralz0dr6xvyfgzb-binutils-2.31.1/bin/ld: cannot find crtbeginS.o: No such file or directory
/nix/store/bmjqkgnj34c0k1bsvralz0dr6xvyfgzb-binutils-2.31.1/bin/ld: cannot find -lgcc
Native elisp load failed: "/home/akyle/.emacs.d/straight/build/magit/eln-aarch64-unknown-linux-gnu-63761565f6c9e3bd/magit.eln", "/home/akyle/.emacs.d/straight/build/magit/eln-aarch64-unknown-linux-gnu-63761565f6c9e3bd/magit.eln: file too short"
Fatal error 11: Segmentation fault
Backtrace:
[ommitted as it's just memory addresses]

I tried adding libgccjit to my environment but that gave me the error:

error: getting status of '/nix/store/kq3hwnp0bdia9ld9445fy829laf46vaf-libgccjit-9.3.0/lib/lib': Too many levels of symbolic links

could you add some extra documentation on the usage of the emacs-overlay ?

hello there,
i'm having trouble adding rev and sha to the emacs-layer usage section: https://github.com/nix-community/emacs-overlay#usage-of-the-overlay, so could you add some extra documentation on how to do this, i don't think that you can add rev or sha as an argument to fetchTarbal? anyways here's the same question that i posted on reddit if you want to take a look: https://www.reddit.com/r/NixOS/comments/ii1e3y/how_to_correctly_update_emacs_packages_in_nixos/

thanks in advance for the help !

Support native-comp branch?

It'd be awesome if we could build the new native compilation branch that is happening in the emacs repo.

I'm a nix noob and couldn't make it work by myself, but if it's a cool enough feature maybe someone can try to pull this off :)

AFAIU, nixpks doesn't have support for the gcc 'Jit lang' flag. And I'm not sure how to override it neither from here nor the nixpkgs proper.

Any takers? :)

emacsGcc build fails : Symobl's value as variable is void auto-save-list-file-prefix

As of 1f6b535, I (and [hydra])(https://hydra.nix-community.org/build/1944862) get the following error on building emacsGcc from commit emacs-mirror/emacs@8a931a9

chmod 755 "/nix/store/bx0wjfyvjlx0zc99xlzwa0q76fgmy1rr-emacs-gcc-20200819.0/bin/`echo emacs-28.0.50 | sed 's,x,x,'`"
rm -f "/nix/store/bx0wjfyvjlx0zc99xlzwa0q76fgmy1rr-emacs-gcc-20200819.0/bin/`echo emacs | sed 's,x,x,'`"
cd "/nix/store/bx0wjfyvjlx0zc99xlzwa0q76fgmy1rr-emacs-gcc-20200819.0/bin" && ln -s "`echo emacs-28.0.50 | sed 's,x,x,'`" "`echo emacs | sed 's,x,x,'`"
make -C lib-src maybe-blessmail
make[1]: Entering directory '/build/source/lib-src'
make[1]: Nothing to be done for 'maybe-blessmail'.
make[1]: Leaving directory '/build/source/lib-src'
find eln-cache -type f -exec /nix/store/gd3nl6hcc8mzq8fmxdvl6czh3l0n4la5-coreutils-8.31/bin/install -c -m 644 -D "{}" ""/nix/store/bx0wjfyvjlx0zc99xlzwa0q76fgmy1rr-emacs-gcc-20200819.0/libexec/emacs/28.0.50/x86_64-pc-linux-gnu/"{}" \;
Symbol's value as variable is void: auto-save-list-file-prefix
builder for '/nix/store/sg8b2y9zz2n9fj1gk2mzh71k18izcdyh-emacs-gcc-20200819.0.drv' failed with exit code 255
cannot build derivation '/nix/store/w8sp6xr9qkkf9kwms77vz9v76wgrw3wl-emacsGccWrapped.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/304qc313r1icpk1xp6908q8bidh4di60-emacsGccWrapped-with-packages-.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/v3q747lpsbigmydg4dic5hd5nymirc9g-home-manager-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/lckdw9lr4g3p15acd9540fnc0yn7s0mv-home-manager-generation.drv': 1 dependencies couldn't be built
error: build of '/nix/store/lckdw9lr4g3p15acd9540fnc0yn7s0mv-home-manager-generation.drv' failed

`vterm` doesn't work

This overlay installs without errors the package vterm, but when I start Emacs I get the following error:

Error (use-package): vterm/:catch: Loading file /nix/store/dpa9kscsc8yj8dzbnvdawi4ib4p0v3yk-emacs-vterm-20200407.1519/share/emacs/site-lisp/elpa/vterm-20200407.1519/vterm.elc failed to provide feature ‘vterm’

I get the same error both with emacs and emacsUnstable, this error apperead recently when I did a nixos-rebuild switch, I know that the error message is really poor but I don't know how to provide more information.

Maybe this isn't caused by the overlay (but I don't know how to determine it) since I touched many configuration files recently, of both NixOs and Emacs.

dlopen issue on macOS

Trying to build this with an overlay setup that looks like:

# emacs-native.nix
import (builtins.fetchTarball {
  url = https://github.com/nix-community/emacs-overlay/archive/aa69bf3bdc4e63c3a1a3d0f1a8273a9755d8ae4c.tar.gz;
})

# emacs.nix
...
    emacsPackagesNg =
      let
        pkgs = import (fetchGit {
          url = "https://github.com/NixOS/nixpkgs.git";
          # Merge commit of https://github.com/NixOS/nixpkgs/pull/94637
          rev = "6fc3562432357cdbcbb30804b47feacfac452acb";
        }) { };
      in
        pkgs.emacsPackagesNgGen self.emacsGcc;
...

I get most of the way through a build but eventually hit:

emacs: dlopen(../native-lisp/28.0.50-x86_64-apple-darwin18.7.0-d06f2377a88b929de7de130ac33e3632/lisp-mode-0189ba85598c041b7504f0a916c04219-1738806322de892570d69dfc55b437c2.eln, 1): image not found
builder for '/nix/store/6xgzwbg9m613ihvs3p97sqlwr6xy9n3x-emacs-company-20200920.2215.drv' failed with exit code 1
cannot build derivation '/nix/store/9klf4mwnshdqqa2yp367rgd3znn2kxkw-personal-emacs.drv': 1 dependencies couldn't be built
error: build of '/nix/store/9klf4mwnshdqqa2yp367rgd3znn2kxkw-personal-emacs.drv' failed

Any ideas?

cachix cache

Someone on the forum said that it was planned.

Any progress on that?

Cask and MELPA recipe parsers

Hello,

Thanks to the fromElisp parser by @talyz, I have successfully implemented a Cask parser and a MELPA-style recipe parser for Nix: akirak/nix-elisp-helpers. In addition, I have implemented a function for expanding :files spec in a recipe, which can be used in conjunction with the recipe parser. (Note: I briefly tested the file expansion function, but it might need more thorough tests.)

They are primarily intended for linting elisp packages, e.g. by combining it with #38 by @purcell.

I put all of them in the separate repository for now, but if it's desirable, I will create a PR to add it to emacs-overlay like this PR. Is it a good idea? What would be the best way to integrate it into this project?

builtin packages in use-package

use-package allows for bundling together package-related configuration, which allows for cleaner, more effective init.
Example:

(use-package dired
  :ensure nil
  :config
  (setq dired-dwim-target t
        dired-recursive-deletes t
        dired-use-ls-dired nil
        delete-by-moving-to-trash t))

Currently it is not possible to use the kind of approach with the overlay.
elisp.nix searches matched packages in the package set, but as they are builtin they are not in the set. I made a quick workaround but haven't gotten around to make it clean and PR-ready.

Thank you for the great work!

Emacs C source-directory?

Hi!

I was wondering if there is a way I could do (setq source-directory <...>) using this overlay so that elisp-slime-nav could jump to symbol definitions in the C source code.

Hydra broken and probably no cache being published

I noticed that I had to build all the packages and started investigating why my cache was broken, I looked into the hydra build that was linked in the cachix issue (#9).

Then I noticed this, here:
https://hydra.nix-community.org/project/emacs-overlay

DBIx::Class::Storage::DBI::catch {...} (): DBI Connection failed: DBI connect('dbname=hydra;user=hydra;','',...) failed: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/run/postgresql/.s.PGSQL.5432"? at /nix/store/6cjjc1ng7xsagn8cqwyl72jg7wgz9sf4-hydra-perl-deps/lib/perl5/site_perl/5.30.1/DBIx/Class/Storage/DBI.pm line 1517. at /nix/store/6yj9nm4aqzay9b6vyg5qvbzk2mzq1jg1-hydra-2020-04-07/libexec/hydra/lib/Hydra/Helper/CatalystUtils.pm line 418

emacsWithPackagesFromPackageRequires fails on Emacs 24.3

I'm experimenting with emacsWithPackagesFromPackageRequires.

I'm using it with @purcell's nix-emacs-ci, but the function fails on Emacs 24.3:

these derivations will be built:
  /nix/store/y1qz63lniy0myv58xh0rkazw2bkqfpjm-emacs-bind-key-20200805.1727.drv
  /nix/store/hqw2djnachw1ydqqmhja0y26k9y2irlp-emacs-use-package-20200721.2156.drv
  /nix/store/d5imbr1b4vmx4n4s27179nb0xmw0ipyz-emacs-packages-deps.drv
  /nix/store/cjcmsc49330667pmz0h9w2pf9qy8gzng-emacs-with-packages-24.3.drv
building '/nix/store/y1qz63lniy0myv58xh0rkazw2bkqfpjm-emacs-bind-key-20200805.1727.drv'...
unpacking sources
unpacking source archive /nix/store/nimzx1ahgvp3y7vq4x9k1j2y7iazcgjy-source
source root is source
patching sources
configuring
no configure script, doing nothing
building
package-build/package-recipe.el:Warning: Unused lexical variable `scoped-class'
package-build/package-recipe.el:Warning: Unused lexical variable `scoped-class'
Saving file /build/packages/bind-key-20200805.1727.el...
Wrote /build/packages/bind-key-20200805.1727.el
Wrote /build/packages/bind-key-readme.txt
installing
Wrong number of arguments: #[(package version) �!�
\",�" [package name version dirname package-user-dir pkg-dir symbol-name "-" expand-file-name make-directory ...] 4], 1
builder for '/nix/store/y1qz63lniy0myv58xh0rkazw2bkqfpjm-emacs-bind-key-20200805.1727.drv' failed with exit code 255
cannot build derivation '/nix/store/hqw2djnachw1ydqqmhja0y26k9y2irlp-emacs-use-package-20200721.2156.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/cjcmsc49330667pmz0h9w2pf9qy8gzng-emacs-with-packages-24.3.drv': 1 dependencies couldn't be built

The error occurs when building use-package imported here (actually due to bind-key required by it), and you can reproduce the error by building the following expression:

let
  sources = import ./nix/sources.nix;
  pkgs = import <nixpkgs> {
  };
  emacs-ci = import (sources.nix-emacs-ci);
in
(pkgs.emacsPackagesFor emacs-ci.emacs-24-3).emacsWithPackages (epkgs: [
  epkgs."use-package"
])

I'm currently implementing an application of this facility , but I don't need use-package when reading dependencies from a library header. If it were necessary, I would add it to extraEmacsPackages. Removing the dependency would probably fix the issue, but is there any reason for including use-package here?

Document use with Emacs

Emacs users unfamiliar with Nix will come here for the access to up-to-date Elpa and Melpa libraries as well as Emacs 27 pre-releases. Therefore, you should explain in detail the steps needed to:

  1. Build Emacs 27 and run it.

  2. Configure non-Nix-built releases of Emacs to reference the emacs-overlay Elpa and Melpa archives.

When writing a README, always try to think like someone who has never heard of your package is reading it for the first time and wants to understand what it includes, what it requires and how to actually use it.

Just my thoughts. Great idea by the way.

collision on desktop file

lately when I nixos-rebuild switch i have been getting collisions on the desktop file. I simply remount my store as rw and delete the old file and then switch again and it works without a problem.

collision between /nix/store/kn2s50qdingfj1fjxlawz3sgwadkmwzr-emacs-gcc-with-packages-20200814.0/share/applications/emacsclient.desktop' and /nix/store/n6llb7j59m0zyc01ki0vdi06frm1cbjc-emacsclient.desktop/share/applications/emacsclient.desktop'

Add harfbuzz to emacsGit

I'd love to play around with the new harfbuzz support in Emacs HEAD - could this be added to emacsGit?

[Error] Wrong type argument: number-or-marker-p, nil

After updating emacs-overlay to current master (less than 12 hours ago), I got the Wrong type argument: number-or-marker-p, nil for some of my packages (evil-org, evil-magit, etc) which is fine prior the update.

The following image is part of the error (which all other package error is similar)

image

Update of repos/emacs seem to have stopped

It seems repos/emacs haven’t been updated since May 13.

Usually it is updated every day or several times every day.

I noticed as there is a bug in the current revision tracked by emacs-overlay which is fixed on the later versions. I am not entirely sure how this auto-update works or if there is any logs anywhere to debug this. So just bringing this up to your attention.

Ignore use-package declarations with :disabled t

Somewhat related to #6.

In my config are several use-package invocations with :disabled t, so use-package ignores them. Commenting them out would have nearly the same effect, so that can be my workaround, but it would be handy (and probably not that hard to implement for most cases?) if emacsWithPackagesFromUsePackage could just ignore them on its own.

ImageMagick support

I'm not sure if it's caused by this overlay, however I think this could be a nice place to discuss this, maybe it would be useful to add an option to compile Emacs with ImageMagick support in a easier way.

Actually I install Emacs (unstable) with this derivation (I'm using a custom overlay)

{self, super}:
super.pkgs.emacsWithPackagesFromUsePackage {
  config = builtins.readFile /path/to/my/config.el;
  package = super.pkgs.emacsUnstable.override({
    imagemagick = super.pkgs.imagemagickBig;
  });
}

Here there is a related discussion that may help.

To check if Emacs has ImageMagick:

emacs --batch --eval "(print (image-type-available-p 'imagemagick))"

Unfortunately with my derivation I get nil.

Edit: I succeded at the end, this is the derivation I used:

{self, super}:
super.pkgs.emacsWithPackagesFromUsePackage {
  config = builtins.readFile /path/to/my/config.el;
  package = (super.pkgs.emacsUnstable.override({
    imagemagick = super.pkgs.imagemagickBig;
  })).overrideAttrs(old: rec {
    configureFlags = (old.configureFlags or []) ++ ["--with-imagemagick"];
  });
}

But now I have a problem with vterm which crashes Emacs when I start it... however I don't think if this is the correct place where to talk about this.
So, feel free to close the issue, or to keep it open if someone else wants is interested into create an option to install Emacs with ImageMagick support.
However I'm a noob and I don't know if this would be a good idea.

Native-comp branch

It would be great to have a package for the feature/native-comp branch!

parsePackagesFromUsePackage requires impure evaluation

Following on from #43, evaluating my NixOS system configuration which uses flakes gives the following error.

error: --- ThrownError ---------------------------------------------------------------- nix
in file: /nix/store/626950h7qrcp14s6lin9fbcz7ld24cgm-source/repos/fromElisp/default.nix (5:17)

cannot look up '<nixpkgs>' in pure evaluation mode (use '--impure' to override)
(use '--show-trace' to show detailed location information)

I've opened a PR which I believe rectifies this.

`emacsWithPackagesFromUsePackage` fails on long configurations

The error is error: stack overflow (possible infinite recursion), but I can bisect my config and it succeeds on either half, but fails together. Unfortunately I can't see where it happens because even --show-trace does not return location information.

org-20200914 hash mismatch

When I switch to emacsGcc in emacsFromPackagesFromUsePackaes, it throws out errors like:

hash mismatch in fixed-output derivation '/nix/store/q4g3ada5gz73c984f7lj2mfyk403cmpg-org-20200914.tar':
  wanted: sha256-wEF+XMwiq1tWPJfCiG5fEdyeZQvbjI//DaMcjkvkV2I=
  got:    sha256-Wbg1LF3J/0sbO8fT2LtHW9Ia7tYkXglu9+2k6Y5fYNI=

However, using nix-prefetch-url, I tested the hash of the file which should be correct (1lk0by7fk97dyxp0jpi4svp1mljv8yxxily77cdlpzy9bln3bf2r).

[gccemacs] Should fast bootstrap continue to be the default?

A new default was added in the past couple of weeks, making fast bootstrap the default build target. I haven't yet tried gccemacs, so I'm not sure how this default and make NATIVE_FULL_AOT=1 compare on Nix. From reading the updates, it seems like with the default setting, some non-essential parts of Emacs are native-compiled at runtime (which doesn't appear to make sense on Nix since the Nix store is read-only), whereas with make NATIVE_FULL_AOT=1, all the Elisp files in base Emacs are native-compiled before the user can begin using it. Do I have this right, and if so, should the overlay set NATIVE_FULL_AOT?

Changes to emacsWithPackagesFromUsePackage break compatibility with literate Emacs configs

While the changes in #43 are cool and all, and probably the best way to go about this, it's caused my configs to break. My Emacs Lisp configuration is defined in a Org-mode document, which Emacs reads with org-babel-load-file. Since the new implementation expects a Elisp file, which my config isn't, the config just fails to evaluate.

I could just convert my config to plain Elisp, but I'd really prefer not to if possible. Maybe some flag could be added to revert to the old "grep for use-package" implementation? Not sure what the best way to handle this is.

Sorry to bother you all with a weird edge case 😅

Slow Unicode rendering on `emacsGcc`

To reproduce:

  1. install emacsGcc.
  2. run emacs -q
  3. invoke M-x view-hello-file.

Notice that this freezes Emacs. This is due to the Unicode characters displayed on that page.

The same actions on emacsUnstable will result in the Hello page being displayed normally.

Packages installed with Quelpa

In addition to *lpa packages I have a tiny bunch of packages being installed using Quelpa. Those are the ones not yet pushed to *lpa archives or even not planned to, but useful. The situation itself mimics #6, in the sense of ignoring or specialized handlling of them. WDYT?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.