!SlMumQZnFjwLRjWFbW:nixos.org

Nix + Doom Emacs

218 Members
Running Doom Emacs with Nix | You probably want https://github.com/nix-community/nix-doom-emacs47 Servers

Load older messages


SenderMessageTime
13 Oct 2022
@hab25:matrix.org@hab25:matrix.orgI'm having an error at installPhase15:06:24
@hab25:matrix.org@hab25:matrix.org * Hi all, if I have working a nix-doom-emacs setup and I want to add org-transclusion, which is in elpa but not part of a doom module, I just as add (package! org-transclusion) to my package.el, right? 15:07:02
@hab25:matrix.org@hab25:matrix.org *

This gives me an error at installPhase:

@nix { "action": "setPhase", "phase": "installPhase" }
installing
Parsing tar file...
Parsing tar file...done
Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
  tar--describe-as-link(nil)
  tar--check-descriptor(nil)
  tar-get-file-descriptor("org-transclusion-1.3.0/org-transclusion-pkg.el")
  package-tar-file-info()
  (if (derived-mode-p 'tar-mode) (package-tar-file-info) (package-buffer-info))
  (let ((pkg-desc (if (derived-mode-p 'tar-mode) (package-tar-file-info) (package-buffer-info)))) (package-unpack pkg-desc) pkg-desc)
  elpa2nix-install-from-buffer()
  (progn (if is-tar (insert-file-contents-literally file) (insert-file-contents file)) (if is-tar (progn (tar-mode))) (elpa2nix-install-from-buffer))
  (unwind-protect (progn (if is-tar (insert-file-contents-literally file) (insert-file-contents file)) (if is-tar (progn (tar-mode))) (elpa2nix-install-from-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (if is-tar (insert-file-contents-literally file) (insert-file-contents file)) (if is-tar (progn (tar-mode))) (elpa2nix-install-from-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
  (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (if is-tar (insert-file-contents-literally file) (insert-file-contents file)) (if is-tar (progn (tar-mode))) (elpa2nix-install-from-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
  (let ((is-tar (string-match "\\.tar\\'" file))) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (if is-tar (insert-file-contents-literally file) (insert-file-contents file)) (if is-tar (progn (tar-mode))) (elpa2nix-install-from-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))
  elpa2nix-install-file("/nix/store/pkyxjznv0hg33x6x27j7pgkgjyhwmnrk-org-tr...")
  (progn (setq package-user-dir elpa) (elpa2nix-install-file archive))
  (let ((archive x0) (elpa x2)) (progn (setq package-user-dir elpa) (elpa2nix-install-file archive)))
  (if (null x3) (let ((archive x0) (elpa x2)) (progn (setq package-user-dir elpa) (elpa2nix-install-file archive))))
  (let* ((x2 (car-safe x1)) (x3 (cdr-safe x1))) (if (null x3) (let ((archive x0) (elpa x2)) (progn (setq package-user-dir elpa) (elpa2nix-install-file archive)))))
  (if (consp x1) (let* ((x2 (car-safe x1)) (x3 (cdr-safe x1))) (if (null x3) (let ((archive x0) (elpa x2)) (progn (setq package-user-dir elpa) (elpa2nix-install-file archive))))))
  (let* ((x0 (car-safe command-line-args-left)) (x1 (cdr-safe command-line-args-left))) (if (consp x1) (let* ((x2 (car-safe x1)) (x3 (cdr-safe x1))) (if (null x3) (let ((archive x0) (elpa x2)) (progn (setq package-user-dir elpa) (elpa2nix-install-file archive)))))))
  (if (consp command-line-args-left) (let* ((x0 (car-safe command-line-args-left)) (x1 (cdr-safe command-line-args-left))) (if (consp x1) (let* ((x2 (car-safe x1)) (x3 (cdr-safe x1))) (if (null x3) (let ((archive x0) (elpa x2)) (progn (setq package-user-dir elpa) (elpa2nix-install-file archive))))))))
  elpa2nix-install-package()
  command-line-1(("-l" "/nix/store/4jj63z4v1xp13rh2md053dccq920hd45-elpa2n..." "-f" "elpa2nix-install-package" "/nix/store/pkyxjznv0hg33x6x27j7pgkgjyhwmnrk-org-tr..." "/nix/store/6ikrz0plmbgkrlsmynzgydr2lsyil7h6-emacs-..."))
  command-line()
  normal-top-level()
15:07:43
@hab25:matrix.org@hab25:matrix.org I believe the error is closely related to package-tar-file-info(): I inspected /nix/store/pkyxjznv0hg33x6x27j7pgkgjyhwmnrk-org-transclusion-1.3.0.tar (reference in the log at line 27), and there is no org-transclusion-pkg.el file inside it. There is a org-transclusion.el, though. 15:11:45
14 Oct 2022
@hexagonk:halogen.cityhexagonkRe: NDE issue#302: I've been running into this the past few days. It feels like it's related to mismatches between component versions, since everything was working fine until recently, and reverting my flake doesn't resolve the issue. I'm trying to work through changelogs and see if I can bisect a commit that introduced the error.00:34:42
@hexagonk:halogen.cityhexagonk(I am not reporter of the issue, just saw it and was very relieved to know I might not be going crazy. Yet.)00:35:18
@ckie:ckie.devckie (they/them) the nix cli for managing flake.locks is weird 07:36:25
@sg-qwt:nltrix.net@sg-qwt:nltrix.net joined the room.15:46:49
@sg-qwt:nltrix.net@sg-qwt:nltrix.net

hi folks, I've got a pretty basic fresh setup from master nix-doom-emacs and master emacs-overlay like below, nothing fancy

programs.doom-emacs =  {
        enable = true;
        doomPrivateDir = ../config/doom-emacs;
        emacsPackage = pkgs.emacsPgtkNativeComp; 
     }

on fresh emacs load, I've got Error (doom-init-ui-hook): Error running hook "+doom-dashboard-init-h" because: (void-function doom-modeline-set-project-modeline) , I also noticed magit status dose not startup due to similar error function is void: doom-modeline-set-vcs-modeline

does anyone encounter same issue here or know how to fix this?

16:25:34
@sg-qwt:nltrix.net@sg-qwt:nltrix.net *

hi folks, I've got a pretty basic fresh setup from master nix-doom-emacs and master emacs-overlay like below, nothing fancy

programs.doom-emacs =  {
        enable = true;
        doomPrivateDir = ../config/doom-emacs;
        emacsPackage = pkgs.emacsPgtkNativeComp; 
     }

on fresh doom emacs start, I've got Error (doom-init-ui-hook): Error running hook "+doom-dashboard-init-h" because: (void-function doom-modeline-set-project-modeline) , I also noticed magit status does not startup due to similar error function is void: doom-modeline-set-vcs-modeline

does anyone encounter same issue here or know how to fix this?

16:26:19
@sg-qwt:nltrix.net@sg-qwt:nltrix.net I'm fairly new to doom (coming from spacemacs :D), my doom config is grabbed fresh from https://github.com/doomemacs/doomemacs/tree/master/templates, so I guess that's not relevant. I guess this error is related to NativeComp? However, when I nixos-rebuild and switch, everything seems build fine and no errors pop up. 16:33:51
@hab25:matrix.org@hab25:matrix.org
In reply to @sg-qwt:nltrix.net

hi folks, I've got a pretty basic fresh setup from master nix-doom-emacs and master emacs-overlay like below, nothing fancy

programs.doom-emacs =  {
        enable = true;
        doomPrivateDir = ../config/doom-emacs;
        emacsPackage = pkgs.emacsPgtkNativeComp; 
     }

on fresh doom emacs start, I've got Error (doom-init-ui-hook): Error running hook "+doom-dashboard-init-h" because: (void-function doom-modeline-set-project-modeline) , I also noticed magit status does not startup due to similar error function is void: doom-modeline-set-vcs-modeline

does anyone encounter same issue here or know how to fix this?

I encountered both issues. My workaround was to disable the dashboard and modeline doom modules in init.el.
20:23:31
@sg-qwt:nltrix.net@sg-qwt:nltrix.net
In reply to @hab25:matrix.org
I encountered both issues. My workaround was to disable the dashboard and modeline doom modules in init.el.

haha..that's what i currently done..

on a deep thought though, there's logic error for my current flake dependency layout:

    emacs = {
      url = "github:nix-community/emacs-overlay";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    
    nix-doom-emacs = {
      url = "github:nix-community/nix-doom-emacs";
      inputs.nixpkgs.follows = "nixpkgs";
      inputs.emacs-overlay.follows = "emacs";
    };

ideally, emacs would follow nix-doom-emacs.inputs.emacs-overlay, not the other way around, not sure if that's causing the problem though..

20:26:34
@hab25:matrix.org@hab25:matrix.org

I'm not using emacs-overlay at all; I don't think it's related to that.

PS: Though it seems that most flakes-supporting projects recommend it, I think using follows is a bad idea, unless you are willing to sacrifice stability for faster builds. The reason is, when you do this you are overriding the pins that the developers tested with. Big disclaimer: I'm new to flakes.

20:37:26
@sg-qwt:nltrix.net@sg-qwt:nltrix.net

in order to pin emacs-overlay exactly same as nix-doom-emacs, I ended-up with a single nix-doom-emacs flake input and used overlay like below

    nix-doom-emacs = {
      url = "github:nix-community/nix-doom-emacs";
      inputs.nixpkgs.follows = "nixpkgs";
    };
     overlays = [
          (import nix-doom-emacs.inputs.emacs-overlay.outPath)
     ];

but problem still exists, so I guess as hab25 said, that's something else then..

20:46:40
@sg-qwt:nltrix.net@sg-qwt:nltrix.net *

in order to pin emacs-overlay exactly same as nix-doom-emacs's input, I ended-up with a single nix-doom-emacs flake input and used overlay like below

    nix-doom-emacs = {
      url = "github:nix-community/nix-doom-emacs";
      inputs.nixpkgs.follows = "nixpkgs";
    };
     overlays = [
          (import nix-doom-emacs.inputs.emacs-overlay.outPath)
     ];

but problem still exists, so I guess as hab25 said, that's something else then..

20:47:20
15 Oct 2022
@hexagonk:halogen.cityhexagonkI've updated the issue I mentioned above; located an old working `doomemacs` commit.12:57:47
@hexagonk:halogen.cityhexagonkKeeping track of all the moving parts in a typical NDE install is incredibly fun. And by fun I mean my brain is now broken. But it was really engaging!12:59:21
@ckie:ckie.devckie (they/them):D13:14:59
16 Oct 2022
@k0kada:matrix.orgk0kada (he/him)
In reply to @hexagonk:halogen.city
I've updated the issue I mentioned above; located an old working `doomemacs` commit.
You're not really supposed to override the doom-emacs inputs
22:06:32
@k0kada:matrix.orgk0kada (he/him)But your work is still useful22:06:39
@k0kada:matrix.orgk0kada (he/him)Going to pin your commit or at least something around it (I think I can get a few newer commits if I change the patches)22:07:04
@k0kada:matrix.orgk0kada (he/him) At least we can unbreak the CI, at least until either ckie (they/them) or me have some more time to investigate how to keep track with upstream 22:07:45
@hexagonk:halogen.cityhexagonkIs there anything I can do to help with triage/tracking of upstream? Basically at the moment I'm doing incredibly stupid things like pinning upstream to bisect what breaks things, but I'd be happy to contribute if there's work to be done.23:34:54
17 Oct 2022
@hexagonk:halogen.cityhexagonkIn the interim I'm going to punch my brain a few times until I start to understand the moving pieces a little bit better. Would love to get a better sense of how/when best to integrate upstream changes to help out with tracking upstream.00:13:49
@ckie:ckie.devckie (they/them) hexagonk: the blocker is this PR failing. the overall flow is config -> doom init -> collect package names -> stick them all in one drv (+elc) -> bundle user config + packages + emacs into a drv 07:15:24
@ckie:ckie.devckie (they/them)which is wrong since packages have versions, not just names, but hooking into straight well enough for vcs info and all of that was not fun07:16:12
@ckie:ckie.devckie (they/them)but anyway this requires a gazillion patches which are not fun to write or maintain07:17:00
@ckie:ckie.devckie (they/them) * but anyway this [sometimes] requires a gazillion patches which are not fun to write or maintain07:17:29
@ckie:ckie.devckie (they/them)current blocker is figuring out how to get doom to actually give the full call trace so its debuggable07:18:11

Show newer messages


Back to Room ListRoom Version: 9