5 Jul 2023 |
Jez (he/him) ♾️ | In reply to @ruination:matrix.org
Hi, sorry for the kind of noob question, but I'm trying to install nix-doom-emacs with home-manager and flakes but I got this error:
building the system configuration...
error:
… while calling the 'head' builtin
at /nix/store/aw6kmwd8a02n2c1wysrfk2q31brlmqdz-source/lib/attrsets.nix:784:11:
783| || pred here (elemAt values 1) (head values) then
784| head values
| ^
785| else
… while evaluating the attribute 'value'
at /nix/store/aw6kmwd8a02n2c1wysrfk2q31brlmqdz-source/lib/modules.nix:753:9:
752| in warnDeprecation opt //
753| { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
| ^
754| inherit (res.defsFinal') highestPrio;
(stack trace truncated; use '--show-trace' to show the full trace)
error: builder for '/nix/store/lihypyx22cvqkhvijky2m7wx0jrwnvgb-emacs-straight-packages.json.drv' failed with exit code 255;
last 10 log lines:
> (let ((temp-file (doom-path doom-user-dir filename)) (temp-buffer (gen...
> (if (let ((p (let ((file filename)) (and (stringp file) (let ((default...
> (let* ((template file) (filename (if template (car-safe (prog1 templat...
> ((closure ((yes\?) (context . #s(doom-cli-context (25763 40170 727042 ...
> (mapc (closure ((yes\?) (context . #s(doom-cli-context (25763 40170 72...
> (let ((doom-print-indent (+ (if t doom-print-indent-increment 0) doom-...
> (if (eq config\? :no) (doom-print (doom-print--format (doom-print--cla...
> (let ((default-directory doom-emacs-dir) (yes\? (progn (or (progn (and...
> ! Wrote extended backtrace to /build/tmp.fs4ZXIk8Op/local/logs/cli.doom.230704041538.7.error
> Opening output file: Permission denied, /nix/store/ir6kfv1zb545562r35yplj3rzsjspbnc-doom/init.el
For full logs, run 'nix log /nix/store/lihypyx22cvqkhvijky2m7wx0jrwnvgb-emacs-straight-packages.json.drv'.
Here's my flake.nix:
{
description = "System configurations";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprpicker.url = "github:hyprwm/hyprpicker";
hypr-contrib.url = "github:hyprwm/contrib";
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-doom-emacs = {
url = "github:nix-community/nix-doom-emacs";
inputs.nixpkgs.follows = "nixpkgs";
};
alejandra = {
url = "github:kamadorueda/alejandra/3.0.0";
inputs.nixpkgs.follows = "nixpkgs";
};
nil.url = "github:oxalica/nil";
emacs-overlay = {
# Pinned by nix-doom-emacs to this commit for some reason
# See https://github.com/nix-community/nix-doom-emacs/commit/c283bcf19b64aba8c50d5618cb58457967f6cdb7
url = "github:nix-community/emacs-overlay/c16be6de78ea878aedd0292aa5d4a1ee0a5da501";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs @ {
self,
nixpkgs,
home-manager,
hyprland,
nix-doom-emacs,
alejandra,
emacs-overlay,
...
}:
# Make an object called 'input' containing the inputs
let
# Variables are declared here
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [emacs-overlay.overlay];
config = {
allowUnfree = true;
};
};
lib = nixpkgs.lib;
in {
nixosConfigurations = {
eschatos = lib.nixosSystem {
inherit system;
modules = [
# Alejandra formatter for Nix files
{
environment.systemPackages = [alejandra.defaultPackage.${system}];
}
# User configurations
home-manager.nixosModules.home-manager
{
home-manager.users.apollyon = {...}: {
home.username = "apollyon";
home.homeDirectory = "/home/apollyon";
home.stateVersion = "23.05";
programs.home-manager.enable = true;
imports = [
nix-doom-emacs.hmModule
./home
];
programs.doom-emacs = {
enable = true;
doomPrivateDir = ./doom;
};
};
}
./hardware-configuration.nix
./modules
];
};
};
};
}
Does anyone know how to fix this? Any help is appreciated!
what do you have in ./doom ? this looks like the doom cli is trying to write a file in the nix store | 18:45:04 |
Jez (he/him) ♾️ | In reply to @roman.gonzalez:matrix.org at this point, I would recommend reverting the evil-collection dependency resolution to come from emacs (e.g. remove it from the overrides.nix ). This may work for Linux folks so no need to stop that from happening. i've just switched over to nix-doom-emacs and run straight into this issue, so i'm in favour of this fix at least in the short term | 18:46:03 |
Jez (he/him) ♾️ | (just done a quick fix here for myself, should probably just submit that as a PR 😅) | 18:48:13 |
roman.gonzalez | Pull request is up htttps://GitHub.com/nix-community/nix-doom-emacs/pull/482 | 19:41:47 |
ckie (they/them) | i think i'm gonna ride this little flurry of activity & hack on making nde read flake locks | 19:48:41 |
Jez (he/him) ♾️ | In reply to @roman.gonzalez:matrix.org Pull request is up htttps://GitHub.com/nix-community/nix-doom-emacs/pull/482 seems to be an extra 't' in that link... 🤔 | 19:58:59 |
ckie (they/them) | * i think i'm gonna ride this little flurry of activity & hack on making nde read straight locks | 19:59:46 |
roman.gonzalez | Yeah, on my phone sorry | 20:00:12 |
roman.gonzalez | Can't edit it either | 20:00:17 |
ckie (they/them) | impressive dedication to have written the whole url out! | 20:00:36 |
ckie (they/them) | (tho i'd understand if it was just the pr number) | 20:00:50 |
ckie (they/them) | huh doom still doesn't support Emacs 29 | 20:02:29 |
ckie (they/them) | goddamn piles of elisp are not fun | 23:03:15 |
ckie (they/them) | there's so much overhead i can't concentrate on the actual problem because i'm just fighting tooling for hours | 23:03:43 |
6 Jul 2023 |
ckie (they/them) | nix-straight.el is a painful layering violation and i wish to replace it with a doomscript | 01:17:02 |
ckie (they/them) | * nix-straight.el is a painful layering violation and i wish to replace most of it with a doomscript | 01:17:08 |
sy | In reply to @roman.gonzalez:matrix.org Yeah, on my phone sorry https://www.youtube.com/watch?v=FHkFzRZdlV4 | 01:31:57 |
ckie (they/them) | wrapping up for the day, i'm out of focus for screen-sized elisp backtraces. found this cool thing though | 02:05:33 |
ckie (they/them) | https://github.com/alphapapa/burly.el | 02:05:34 |
Jez (he/him) ♾️ | i tried a few years ago to get this working (when nde was pretty new, i think) and failed, but it went very easily this time so thanks to all the contributors! | 09:14:27 |
Jez (he/him) ♾️ | a couple of newbie questions:
- seems like
straight-emacs-env gets fully rebuild any time i make a minor change to my config: i assume that's expected behaviour at the moment but let me know if not?
- is there a way of specifying that i'm using a literate config and having
config.org tangled to config.el as part of the build? for now i switched to doing it manually when i update config.org
| 09:21:50 |
Benedikt Tissot | in the FAQ there should be a section about how to specify a config to generate the package environment (and the rest empty) such that you only rebuild when package stuff changes.
You can also point your config to a nix expression, so you could write a derivation to tangle config.org and then point on the generated config.el. | 09:28:55 |
Jez (he/him) ♾️ | aha, thanks 🙂 | 09:29:27 |
Benedikt Tissot | So basically you would generate some derivation for doomPackageDir (for the packages) and then for doomPrivateDir you combine this with your tangled config | 09:29:28 |
Jez (he/him) ♾️ | ok, will play with this a bit to figure it out and then see if it's worth making a pr to add to nde itself | 09:30:13 |
Jez (he/him) ♾️ | oh look, there's already some code i can steal at https://github.com/nix-community/nix-doom-emacs/issues/60 😅 | 09:31:59 |
Jez (he/him) ♾️ | that'll teach me to rtfm (spoiler: it probably won't) | 09:32:14 |
Jez (he/him) ♾️ | In reply to @benedikt:tissot.de in the FAQ there should be a section about how to specify a config to generate the package environment (and the rest empty) such that you only rebuild when package stuff changes. You can also point your config to a nix expression, so you could write a derivation to tangle config.org and then point on the generated config.el. it's not in the faq, but i found it in a closed issue & pr https://github.com/nix-community/nix-doom-emacs/pull/303 | 09:36:56 |
Benedikt Tissot | oh sorry, I guess this is where I got it from then 🙈🙈 | 09:39:48 |
Jez (he/him) ♾️ | tbf it probably should go in the faq, i expect it's a pretty common question | 09:43:19 |