nix-community / emacs-overlay Goto Github PK
View Code? Open in Web Editor NEWBleeding edge emacs overlay [maintainer=@adisbladis]
Bleeding edge emacs overlay [maintainer=@adisbladis]
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 :_)
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?
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?
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.
My main configuration file is in org-mode format loaded by init.el
. After the recent update the overlay is no longer able to obtain the use-package
declaration from it. Instead it fails right away:
error: Unrecognized token on line 1: #+TITLE: Emacs configuration
I want to install a package from its git repository (e.g. https://github.com/dustinlacewell/eyeliner). Prior to using the overlay I did it with straight.el. What is the recommended way to install it with the emacs-overlay?
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!
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
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
];
}
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.
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
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 !
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? :)
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
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.
There is work going on to make emacs a pure gtk3 application so that it can run in wayland without Xwayland. There are 2 mirrors which we can use :-
Would it be possible to make a package for it like emacsPureGtk ?
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?
Someone on the forum said that it was planned.
Any progress on that?
error: value is a string while a set was expected, at /nix/store/5nwss7arwhryix0b5ijm0dhlq09jal6k-source/repos/fromElisp/default.nix:485:19
(use '--show-trace' to show detailed location information)
emacs-overlay/repos/fromElisp/default.nix
Line 485 in fd1e83d
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?
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!
My configuration contains characters like ι
and ‥
. This fails emacsWithPackagesFromUsePackage
builds.
To keep the footprint small, I'd like to build the nightly emacs without GUI support as terminal only.
Whats the easiest way to achieve this?
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.
Are there any instructions available for loading mu4e when mu is installed for a single user?
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
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?
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:
Build Emacs 27 and run it.
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.
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'
It'd be cool to have binutils installed along with emacs so m-x disassemble
can use objdump
.
I'd love to play around with the new harfbuzz support in Emacs HEAD - could this be added to emacsGit
?
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.
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.
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.
It would be great to have a package for the feature/native-comp branch!
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.
Given the feature/native-comp
branch only gets an update every week or two, whereas the master branch seems to update several times daily, it is quite frustrating having to rebuild emacs several times a day upon switching switching generations.
I'm new to overlays, can anybody explain how to add xwidgets support etc?
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.
According to https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS#L27
cairo support was suggested and enabled by default, not only for macOS.
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
).
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
?
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 😅
To reproduce:
emacsGcc
.emacs -q
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.
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?
(emacsGit.override {
withXwidgets = true;
withGTK3 = true;
})
...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.