Skip to content

Instantly share code, notes, and snippets.

@mjlbach

mjlbach/gccEmacs.md

Last active Feb 25, 2021
Embed
What would you like to do?
Installing gccEmacs (native-comp) with Nix

Nix

Adding the overlay and configuring cachix

Option 1: Adding the overlay to configuration.nix or home.nix

Add the nix-community overlay to your nixpkgs. You can add the following to your configuration.nix (NixOS, non-user specific) or to your home-manager's home.nix. Note in the case of the latter, this will not be available for installation via nix-env.

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

See nixos or home-manager options for more information on adding overlays.

Option 2: Add to the overlays directory

echo "import (builtins.fetchTarball {
      url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
    })" >> $HOME/.config/nixpkgs/overlays/emacs.nix

Optional: Add cachix support to avoid compilation

As this package is installed via an overlay, it is not built by the Hydra CI/CD pipeline that underlies nixpkgs. Instead, the binary is built by the nix-community hydra and pushed to Cachix. Follow the instructions here to add the nix-community cachix.

nix-env -iA cachix -f https://cachix.org/api/v1/install
cachix use nix-community

You will need to ensure that you are are installing the emacs overlay from the nixos-unstable unstable channel, not the nixpkgs-unstable channel. If you are using home-manager, you will need to set your default channel to nixos-unstable (you can do this on non-NixOS systems, the difference is that nixos-unstable lags behind nixpkgs-unstable due to requiring more comprehensive tests before deployment). Alternatively, you can separately import nixos-unstable import <nixos-unstable> { overlays = [ overlay1 overlay2 ]; } separately, and use a separate channel specifically for emacs.

Installing emacs

If you followed option 2, the following will work.

nix-env -iA nixpkgs.emacsGcc

More likely, you will want to declaratively install in your configuration.nix or home.nix.

Home-manager provides a handy module, you can also add extra packages such as vterm.

{
  programs.emacs = {
    enable = true;
    package = pkgs.emacsGcc;
    extraPackages = (epkgs: [ epkgs.vterm ] );
  };
}

Alternatively you can add something like the following to you configuration.nix system packages

{
emacsWithPackages = (pkgs.emacsPackagesGen pkgs.emacsGcc).emacsWithPackages (epkgs: ([epkgs.vterm]));
}

Notes

As of 2020-08-03 the above works on fedora/ubuntu/debian and under NixOS. If you get an immediate segfault upon starting emacs, please ensure that your font is appropriately configured.

@webframp

This comment has been minimized.

Copy link

@webframp webframp commented Nov 9, 2020

I tried this out with nix-darwin and was unable to launch Emacs.

With this config https://gist.github.com/webframp/621842ba12134d5bed016e912bbeac22

Trying to start just gives me the following:

❯ open /nix/store/8cp4nzy4f18h7rc8l982icpdwhdrjlwp-emacs-gcc-20201108.0/Applications/Emacs.app
LSOpenURLsWithRole() failed with error -10810 for the file /nix/store/8cp4nzy4f18h7rc8l982icpdwhdrjlwp-emacs-gcc-20201108.0/Applications/Emacs.app.

I'm sure I'm missing something so maybe others will have success though.

@mjlbach

This comment has been minimized.

Copy link
Owner Author

@mjlbach mjlbach commented Nov 9, 2020

If you look at the notes, the above only works on Linux. If you want to use on mac, I would recommend my custom overlay in which I've patched the error and provide a cachix cache.

Edit: This overlay is deprecated. Most of the fixes are now in the nix-community emacs-overlay.

@webframp

This comment has been minimized.

Copy link

@webframp webframp commented Nov 10, 2020

Thanks for the pointer @mjlbach I'll try that out!

@webframp

This comment has been minimized.

Copy link

@webframp webframp commented Nov 11, 2020

Can confirm that works quite well @mjlbach, thanks!

@arjunv27

This comment has been minimized.

Copy link

@arjunv27 arjunv27 commented Dec 8, 2020

Do binaries from cachix make sense for a program which is intended for native compilation? Do we get the same benefits from the binaries?

@mjlbach

This comment has been minimized.

Copy link
Owner Author

@mjlbach mjlbach commented Dec 8, 2020

Yes, the build fetched from cachix will only substitute if it matches what nix would build locally . I don’t use nix to manage my emacs packages, but I believe the community overlay provides pre-native compiled emacs packages as well.

@panaak

This comment has been minimized.

Copy link

@panaak panaak commented Dec 28, 2020

Trying to run emacs daemon i get strange error:

Assertion failed: (mach_vm_map(mach_task_self(), &address, size, 0, VM_FLAGS_ANYWHERE | VM_MAKE_TAG(VM_MEMORY_COREGRAPHICS_BACKINGSTORES), port, 0, false, prot, prot, VM_INHERIT_SHARE) == KERN_SUCCESS), function backing_map, file /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/SkyLight/SkyLight-569.6/SkyLight/Services/Windows/CGSBackingStore.c, line 192. Fatal error 6: Aborted [1] 2319 abort emacs --fg-daemon

more info here: nix-community/emacs-overlay#98

@mjlbach

This comment has been minimized.

Copy link
Owner Author

@mjlbach mjlbach commented Dec 28, 2020

I agree with the assessment in nix-community/emacs-overlay#98. Did you file an upstream issue?

@panaak

This comment has been minimized.

Copy link

@panaak panaak commented Dec 28, 2020

i'm not sure where would be the best place to file it.. what would you recommend?

@mjlbach

This comment has been minimized.

Copy link
Owner Author

@mjlbach mjlbach commented Dec 28, 2020

@panaak

This comment has been minimized.

Copy link

@panaak panaak commented Dec 28, 2020

ok, thanks.. bug report sent..

@thomasheartman

This comment has been minimized.

Copy link

@thomasheartman thomasheartman commented Feb 9, 2021

@mjlbach Thanks for this! I have a question on using Cachix, though. The gist says:

You will need to ensure that you are are installing the emacs overlay from the nixos-unstable unstable channel, not the nixpkgs-unstable channel. If you are using home-manager, you will need to set your default channel to nixos-unstable.

I'm not entirely sure I get what this means. Does that mean running nix-channel --add https://nixos.org/channels/nixos-unstable nixos or is there some configuration you can do in home-manager? I tried looking through the readme for home-manager, but couldn't find anything obvious there.

The gist also mentions you can import <nixos-unstable> and use overlays there, but I'm afraid I don't know how I'd do that either. Could you elaborate on how to do that?

Aside from Cachix, everything works great. But having to unexpectedly rebuild Emacs when just wanting to change some configuration settings can be an annoyance 🤷

@mjlbach

This comment has been minimized.

Copy link
Owner Author

@mjlbach mjlbach commented Feb 10, 2021

If you add a channel via nix-channel, you can import it within home-manager, and use that channel to install emacs-overlay. The mechanism isn't unique to home-manager, but is part of the nix expression language, so it's not in that readme. Something like.

  1. nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
let
pkgs-unstable = import <nixos-unstable> {overlays = [(builtins.fetchTarball {
      url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
    })];};
in
{
home.packages = with pkgs-unstable; [
    emacsGit
];
}
@thomasheartman

This comment has been minimized.

Copy link

@thomasheartman thomasheartman commented Feb 11, 2021

Thanks! Unfortunately, I still can't make it work. I've tried adding and unpacking the unstable channel as you've demonstrated, and tried with code like this:

let

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

  my-emacs = unstable.emacsWithPackagesFromUsePackage {
    package = unstable.emacsGcc;
  };

in
{
  # ...
}

But it won't build. I get an error saying 'attempt to call something which is not a function but a string with context'.

The full error message looks like this:

Full trace
error: while evaluating the attribute 'buildCommand' of the derivation 'home-manager-generation' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/pkgs/build-support/trivial-builders.nix:7:7:
while evaluating the attribute 'text' of the derivation 'activation-script' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/pkgs/build-support/trivial-builders.nix:7:7:
while evaluating 'mkCmd' at /nix/store/lc4np3b1gi4fh8wr98h1xshwqcn8mipl-source/modules/home-environment.nix:502:17, called from undefined position:                                                                         
while evaluating the attribute 'data' at /nix/store/lc4np3b1gi4fh8wr98h1xshwqcn8mipl-source/modules/lib/dag.nix:91:37:                                                                                                          
while evaluating the attribute 'data' at /nix/store/lc4np3b1gi4fh8wr98h1xshwqcn8mipl-source/modules/lib/dag.nix:85:9:                                                                                                           
while evaluating the attribute 'data' at undefined position:
while evaluating 'g' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/attrsets.nix:276:19, called from undefined position:
while evaluating anonymous function at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:98:72, called from /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/attrsets.nix:279:20:          
while evaluating the attribute 'value' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:465:9:            
while evaluating the option `home.activation.installPackages.data':
while evaluating the attribute 'mergedValue' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:497:5:            
while evaluating the attribute 'values' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:491:9:            
while evaluating the attribute 'values' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:590:7:            
while evaluating anonymous function at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:477:28, called from /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:477:17:           
while evaluating definitions from `/nix/store/lc4np3b1gi4fh8wr98h1xshwqcn8mipl-source/modules/home-environment.nix':
while evaluating 'dischargeProperties' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:549:25, called from /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:478:137:          
while evaluating the attribute 'value' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:338:44:           
while evaluating the attribute 'passAsFile' of the derivation 'home-manager-path' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/pkgs/build-support/trivial-builders.nix:7:7:
while evaluating the attribute 'packages' at undefined position:
while evaluating 'g' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/attrsets.nix:276:19, called from undefined position:
while evaluating anonymous function at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:98:72, called from /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/attrsets.nix:279:20:          
while evaluating the attribute 'value' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:465:9:            
while evaluating the option `home.packages':
while evaluating the attribute 'mergedValue' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:497:5:            
while evaluating 'merge' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/types.nix:264:20, called from /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:499:59:           
while evaluating anonymous function at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/types.nix:265:35, called from undefined position:
while evaluating anonymous function at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/lists.nix:116:29, called from undefined position:
while evaluating anonymous function at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/types.nix:267:23, called from /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/lists.nix:116:32:             
while evaluating the attribute 'optionalValue' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:509:5:            
while evaluating the attribute 'values' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:491:9:            
while evaluating the attribute 'values' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:590:7:            
while evaluating anonymous function at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:477:28, called from /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:477:17:           
while evaluating definitions from `/home/thomas/dotfiles/.config/nixpkgs/home.nix':
while evaluating 'dischargeProperties' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:549:25, called from /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/modules.nix:478:137:          
while evaluating the attribute 'value' at /nix/store/acizvsxjirdh4zmhfcwa0gdsv3zcv3jn-nixos-20.09.3072.d4c29df154d/nixos/lib/types.nix:271:40:             
while evaluating anonymous function at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/top-level/impure.nix:15:1, called from /home/thomas/dotfiles/.config/nixpkgs/home.nix:5:14:                                                             
while evaluating anonymous function at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/top-level/default.nix:19:1, called from /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/top-level/impure.nix:83:1:
while evaluating anonymous function at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/stdenv/booter.nix:42:1, called from /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/top-level/default.nix:122:10:
while evaluating 'dfold' at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/stdenv/booter.nix:60:27, called from /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/stdenv/booter.nix:136:4:
while evaluating 'go' at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/stdenv/booter.nix:63:18, called from /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/stdenv/booter.nix:72:13:
while evaluating 'folder' at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/stdenv/booter.nix:89:33, called from /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/stdenv/booter.nix:68:18:
while evaluating 'allPackages' at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/top-level/default.nix:112:17, called from /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/stdenv/booter.nix:101:12:
while evaluating anonymous function at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/top-level/stage.nix:12:1, called from /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/top-level/default.nix:112:26:
while evaluating 'fix' at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/lib/fixed-points.nix:19:9, called from /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/pkgs/top-level/stage.nix:252:3:
while evaluating 'extends' at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/lib/fixed-points.nix:69:24, called from /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/lib/fixed-points.nix:19:20:
while evaluating 'extends' at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/lib/fixed-points.nix:69:24, called from /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/lib/fixed-points.nix:69:42:
attempt to call something which is not a function but a string with context, at /nix/store/q1lhzvzy7sapxi9b5838zvqlnk9vhxf3-nixos-unstable-21.03pre269174.29a15e2c1f5/nixos-unstable/lib/fixed-points.nix:69:67

Do you know what that means? Am I doing something wrong? Obviously, you have no obligation to assist me, so there's no pressure, but I would appreciate it if you had a tip or two. It seems you know your way around this a lot better than I do. Cheers!

@collares

This comment has been minimized.

Copy link

@collares collares commented Feb 24, 2021

@thomasheartman Try something like this:

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

  my-emacs = unstable.emacsWithPackagesFromUsePackage {
    config = /home/USERNAME/.emacs.d/init.el;
    package = unstable.emacsGcc;
  };
in
{
  home.packages = [
    my-emacs
  ];
}
@thomasheartman

This comment has been minimized.

Copy link

@thomasheartman thomasheartman commented Feb 24, 2021

@collares Thanks! I tried that, but got an error message saying that

error: file 'nixos-unstable' was not found in the Nix search path (add it using $NIX_PATH or -I)

From what I gather, that's because user channels aren't included in the nix search path by default (according to this issue). I'm trying to see if I can figure out how to add them, but in the meantime:

Instead, I tried doing importing the unstable channel instead via a url (inspired by this post on functor.tokyo:

let

  unstable = import (fetchTarball
    https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz) {
    overlays = [
      (import (builtins.fetchTarball {
        url =
          "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
      }))
    ];
};

  my-emacs = unstable.emacsWithPackagesFromUsePackage {
    config = ~/.emacs.d/init.el;
    package = unstable.emacsGcc;
    alwaysTangle = true;
    extraEmacsPackages = epkgs: [
      epkgs.exwm
      epkgs.emacsql-sqlite
      epkgs.vterm
      epkgs.pdf-tools
    ];
  };

in
{
 # ...
}

Now it builds, but it still has compiles Emacs from the ground up. Should this work? I wonder whether there's something wrong with my Cachix setup. There's nothing else that needs to be done than install it and run the cachix use nix-community command, right?

Update

Wait, I managed to figure something out: I had to add the unstable channel as the root user and then run sudo nix-channel --update nixos-unstable. Is that the right approach?

At this point the caching looks like it works. I still have to manually compile EXWM it seems, but at least that's only about a minute as opposed to fifteen, so that's better.

Still, if it's possible to use the cache and the unstable channel without needing to have a stable channel set up (such as by using fetchTarball to get the channel, for instance), I'd be very interested in hearing about that. And if it isn't, why isn't it?

@collares

This comment has been minimized.

Copy link

@collares collares commented Feb 24, 2021

@thomasheartman The nixpkgs-channels repo is deprecated. Try using https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz instead.

@thomasheartman

This comment has been minimized.

Copy link

@thomasheartman thomasheartman commented Feb 25, 2021

@collares Oh, yes; there we go! Thank you! That seems to have done the job.

For anyone else wondering, this is what I ended up doing:

let

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

  my-emacs = (pkgs.emacsPackagesGen unstable.emacsGcc).emacsWithPackages
    (epkgs: [ epkgs.exwm epkgs.emacsql-sqlite epkgs.vterm epkgs.pdf-tools ]);

in {

}

Just switching the URL was enough to make it work. Moving away from emacsWithPackagesFromUsePackage is mosty because I use Straight, and I have the impression that those two don't play well together, if at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment