Comments (5)
The issue is not completely related to Nyxt. define-nyxt-user-system-and-load
does work, otherwise @aartaka wouldn't be using it.
I'd suggest to start simple and to remove Nix from the equation. Also you could call load-file
from config.lisp
.
from nyxt.
Hi, @aadcg, thank you for such a fast response.
I already started without Nix (I've been using Nyxt on and off for months, much before moving to NixOS) and as I say, a more complex configuration than this works perfectly on my Arch Linux desktop.
My impression was that this might be a bug due to the same configuration working on one system and not another (but the difference in the system might explain this, albeit I have literally no idea what is happening exactly).
I've been trying to replicate the last few days in different ways and "removing" Nix from the equation but trying to reproduce a similar setup (two-step symlinks, read-only files and so on) produces the same failure on my system, albeit I cannot always replicate it. Testing on my Arch I cannot actually replicate it even if I try to replicate a similar structure so I assume it must indeed be a Nix thing.
I don't see anything in the documentation that would explain this.
Thus why I expected this might be a bug or an underdocumented limitation.
Albeit I can understand if I think this is not to be~considered so, in which case the issue can should be closed.
Thank you for the help and for the suggestion about using load-file
directly!
from nyxt.
@diseraluca my wild guess is that Nix handles ASDF in a peculiar way. See https://asdf.common-lisp.dev/asdf.html#Controlling-where-ASDF-searches-for-systems.
If you do find the root cause, it would be great the report it to Nix and Nyxt (in case there's something to be done from our side).
from nyxt.
Just in case someone ends up on this, since I finally had time to check it, this ended up being a cache issue.
ASDF will compile a fasl of each component the first time they are loaded (which you can find in ~/.cache/scbl.../) and this will be consistently loaded independently of how many changes are made to the original file.
The cache failure is due to Nix derivations setting the mtime of everything in the nix store to 1970 (for reproducibility)(https://nixos.org/manual/nix/stable/language/derivations.html), which tricks ASDF into never compiling the file again.
This is true only of files in the store, so not passing by the store (e.g not generating the files from home-manager) will not incur in the same issue.
I'm not sure of how to fix this on Nix side yet, or if some workaround is possible, but one can call asdf:disable-output-translation
(https://asdf.common-lisp.dev/asdf.html#Output-Caching-Results) in their Nyxt config.
This unfortunately disables the caching entirely, so it might downgrade performance for most usages.
Simply calling asdf:clear-output-translation
did not work in my case, but I haven't had time to go so deep into ASDF codebase to know why.
Sorry for replying to the closed issue but thought it might be useful in case someone ends up on it due to a related or similar problem.
from nyxt.
Your thorough investigation is very much appreciated! Thank you!
from nyxt.
Related Issues (20)
- hover text update for backwards and forwards arrows HOT 2
- Cannot run source build on Asahi: "gtk_box_pack: assertion '_gtk_widget_get_parent (child) == NULL' failed" HOT 9
- Playback in twitch starts to lag after few minutes HOT 2
- vi mode: Need to switch to insert mode after using `follow-hint` key binding HOT 3
- vi mode: Can't unfocus text input on website HOT 3
- Prettier (+/- colors for semantics) and more readable codeblocks HOT 21
- Restart prompting -- When you just need to start over HOT 6
- duplicate suggestions in DESCRIBE SLOT HOT 2
- Nyxt uses about 40% of a CPU when idling HOT 13
- Freezes when entering URL HOT 5
- special case UI for mode specific commands HOT 6
- `switch-buffer` UI may be misleading HOT 15
- execute-command: Suggested Lisp expression without brackets until typed completely HOT 1
- Nyxt opens as a blank window HOT 1
- `bookmark-url` is broken HOT 2
- `common-settings` bug
- `common-settings` improvements HOT 6
- Update web engine to support modern websites HOT 3
- Error using KeePassXC integration (couldn't execute "clip") HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nyxt.