Nyxt on Windows 10 (with WSLg)

Well, this happened… and so far it’s seamless, though very experimental.

Using the dev channel of Windows 10 with WSLg (WSL 2 with the graphical update) and WSL Ubuntu 20.04. I installed the .deb, a few package dependencies, and explicitly added the Nyxt icon to the Start menu. Windows itself is running in a virtual machine, as the Windows 10 dev branch is not stable. I look forward to doing more Nyxt on Windows 10, as WSLg it comes out of dev, into beta, and release later this year as part of the Windows 10 Sun Valley update.

Once WSLg was running, the commands I used were:

wget 'https://github.com/atlas-engineer/nyxt/releases/download/2.0.0/nyxt-ubuntu.zip'
unzip nyxt-ubuntu.zip
sudo apt install libfixposix-dev libwebkit2gtk-4.0-dev xclip enchant libfixposix3
sudo apt --fix-broken install
sudo dpkg -i nyxt_2.0.0_amd64.deb
nyxt
3 Likes

Wow, that’s cool! I’ve been trying to do the same, with no luck so far (differences are: I use plain WSL2, without the graphical update, and I am quite unfamilliar with Windows). WSLg seems to solve lots of problems :smiley:

Maybe we can even say that we support Windows in such a way :upside_down_face:

That’s really cool! Thank you for sharing and providing the instructions as well! Maybe when the new version of Windows 10 is pushed to users, we could update the readme! ヽ(^。^)丿

Glad you enjoyed seeing it! It boggles my mind. I will be staying on top of the dev and insider channels, and plan to use Nyxt more as part of my daily workflow. I would love to contribute to Nyxt am happy to write or assist with the steps in the documentation when the time comes. For now I’ll keep this thread updated as WSLg progresses.

1 Like

Now that Windows 11 is in the dev channel (basically an early alpha release), I went through the installation process again on a fresh virtual machine with Nyxt 2.1. Nyxt seems to work fine, and is nicely integrated into the Start menu. The installation steps were:

wget https://github.com/atlas-engineer/nyxt/releases/download/2.1.0/nyxt_2.1.0_amd64.deb
sudo apt install libfixposix-dev libwebkit2gtk-4.0-dev xclip enchant libfixposix3
sudo dpkg -i nyxt_2.1.0_amd64.deb

1 Like

Wow! That’s it? Just 3 commands?

Thanks for the feedback!

Note that you could use apt directly to install the .deb, this will automatically install the dependencies I believe.

Hi,

Thanks for sharing this!

It has been 2 and a half months since your last update. I am curious about how was the experience so far.

Since the previous post, did something bad happen?
Is Nyxt running smoothly?

On Windows 11 (beta release channel), I run into dependency resolution issues trying to install the .deb:

catte@TRASHCLOUD ~> sudo apt install ./nyxt_2.2.4_amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'nyxt' instead of './nyxt_2.2.4_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nyxt : Depends: enchant-2 but it is not installable
        Depends: libfixposix3 but it is not installable
        Depends: libssl1.1 but it is not installable
        Depends: libssl1.1 but it is not installable
E: Unable to correct problems, you have held broken packages.

I run Debian, but don’t have much WSL experience. Perhaps something along the lines of apt install --fix-broken could help? Have you tried manually installing the unmet dependencies?

I installed beta 2 on Windows 11 WSL Ubuntu, but Alt-x is not working. Nothing happens when I press it.

@daltor, do you have emacs-mode enabled? Does at least C-space work? What was the previous version you used?

I suggest reporting this on GitHub too, as it looks like a bug.

Hehe, wow, yeah, forgot to set it to Emacs;) Thanks.

Is make-buffer-with-context supposed to work on Windows? I just get:

Backtrace for: #<SB-THREAD:THREAD "Nyxt run-async command" RUNNING {100AE21293}>
0: ((LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE))
1: ((FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX))
2: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<FUNCTION (FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX) {7F3F035ADD3B}>)
3: (UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE) {100B00372B}> :PACKAGE :CL)
4: ((:METHOD LOG4CL-IMPL:APPENDER-DO-APPEND (NYXT::MESSAGES-APPENDER T T T)) #<NYXT::MESSAGES-APPENDER {1006FEF753}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.BUFFER-LOAD.FORM-FUN-7.H0 /home/runner/work/nyxt/nyxt/source/buffer.lisp {10033B2263}> 2 #<FUNCTION (FLET "log-stmt9" :IN NYXT:BUFFER-LOAD) {7F3F035AE24B}>) [fast-method]
5: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOGGER +ROOT+ {10019E6963}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.BUFFER-LOAD.FORM-FUN-7.H0 /home/runner/work/nyxt/nyxt/source/buffer.lisp {10033B2263}> 2 #<FUNCTION (FLET "log-stmt9" :IN NYXT:BUFFER-LOAD) {7F3F035AE24B}>)
6: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER NYXT NIL {1004511B63}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.BUFFER-LOAD.FORM-FUN-7.H0 /home/runner/work/nyxt/nyxt/source/buffer.lisp {10033B2263}> 2 #<FUNCTION (FLET "log-stmt9" :IN NYXT:BUFFER-LOAD) {7F3F035AE24B}>)
7: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER NYXT.BUFFER-LOAD /home/runner/work/nyxt/nyxt/source/buffer.lisp {1005A108F3}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.BUFFER-LOAD.FORM-FUN-7.H0 /home/runner/work/nyxt/nyxt/source/buffer.lisp {10033B2263}> 2 #<FUNCTION (FLET "log-stmt9" :IN NYXT:BUFFER-LOAD) {7F3F035AE24B}>)
8: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER NYXT.BUFFER-LOAD.FORM-FUN-7 /home/runner/work/nyxt/nyxt/source/buffer.lisp {10045E8303}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.BUFFER-LOAD.FORM-FUN-7.H0 /home/runner/work/nyxt/nyxt/source/buffer.lisp {10033B2263}> 2 #<FUNCTION (FLET "log-stmt9" :IN NYXT:BUFFER-LOAD) {7F3F035AE24B}>)
9: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER NYXT.BUFFER-LOAD.FORM-FUN-7.H0 /home/runner/work/nyxt/nyxt/source/buffer.lisp {10033B2263}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.BUFFER-LOAD.FORM-FUN-7.H0 /home/runner/work/nyxt/nyxt/source/buffer.lisp {10033B2263}> 2 #<FUNCTION (FLET "log-stmt9" :IN NYXT:BUFFER-LOAD) {7F3F035AE24B}>)
10: (LOG4CL-IMPL::LOG-WITH-LOGGER #<LOG4CL-IMPL::FILE-LOGGER NYXT.BUFFER-LOAD.FORM-FUN-7.H0 /home/runner/work/nyxt/nyxt/source/buffer.lisp {10033B2263}> 2 #<FUNCTION (FLET "log-stmt9" :IN NYXT:BUFFER-LOAD) {7F3F035AE24B}> #<PACKAGE "NYXT">)
11: ((FLET "H0" :IN NYXT:BUFFER-LOAD) #<SB-PCL::MISSING-SLOT BUFFER-LOAD-HOOK {100B0036E3}>)
12: (SB-KERNEL::%SIGNAL #<SB-PCL::MISSING-SLOT BUFFER-LOAD-HOOK {100B0036E3}>)
13: (ERROR SB-PCL::MISSING-SLOT :NAME NYXT::BUFFER-LOAD-HOOK :FORMAT-CONTROL "~@<When attempting to ~A, the slot ~S is missing from the object ~S.~@[
~a~]~@:>" :FORMAT-ARGUMENTS ("read the slot's value (slot-value)" NYXT::BUFFER-LOAD-HOOK #<NYXT:BUFFER 4216 {100AF97603}> NIL))
14: ((:METHOD SLOT-MISSING (T T T T)) #<NYXT:USER-CLASS NYXT:BUFFER> #<NYXT:BUFFER 4216 {100AF97603}> NYXT::BUFFER-LOAD-HOOK SLOT-VALUE NIL) [fast-method]
15: ((LAMBDA (SB-PCL::OBJECT) :IN SB-PCL::SLOT-MISSING-INFO) #<NYXT:BUFFER 4216 {100AF97603}>)
16: (NYXT:BUFFER-LOAD #<QURI.URI:URI nyxt:new> :BUFFER #<NYXT:BUFFER 4216 {100AF97603}>)
17: ((:METHOD NYXT:MAKE-BUFFER NIL) :BUFFER-CLASS NYXT:BUFFER :CONTEXT-NAME "") [fast-method]
18: (NYXT::RUN-COMMAND #<NYXT:COMMAND NYXT:MAKE-BUFFER-WITH-CONTEXT (1)> NIL)
19: ((LAMBDA NIL :IN NYXT::RUN-ASYNC))
20: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
21: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
22: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-THREAD::RUN))
23: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
24: ((FLET "WITHOUT-INTERRUPTS-BODY-4" :IN SB-THREAD::RUN))
25: (SB-THREAD::RUN)
26: ("foreign function: call_into_lisp_")
27: ("foreign function: funcall1")
<ERROR> [09:58:00] In `buffer-load-hook': When attempting to
                                          read the slot's value (slot-value),
                                          the slot NYXT::BUFFER-LOAD-HOOK is
                                          missing from the object
                                          #<BUFFER 4216 {100AF97603}>.

ok, I guess it’s this bug:

https://github.com/atlas-engineer/nyxt/issues/2618

Damn, I was so close;)

Seems it’s fixed but there is no build

Yeah, the fix will be included in the next release (be it 3.0 or another pre-release) :slight_smile: