Hacker News new | past | comments | ask | show | jobs | submit login
Nyxt: The Hacker's Browser (atlas.engineer)
459 points by OuterVale 3 days ago | hide | past | favorite | 221 comments





I don't know, I feel like some of the more pressing features of this browser are already provided with add-ons such as Vimium. And I would really like to see this on a Firefox back-end / compatible with the likes of uBlock origin. I don't want to have another chrome derivative that has a fancy new UI to boast.

> I don't want to have another chrome derivative that has a fancy new UI to boast.

It uses WebKitGTK, not Chrome.

As for why not vimium?

https://nyxt-browser.com/article/nyxt-versus-plugins.org


When are we getting a web engine written in SBCL? :) or how hard would it be, I wonder...

One thing about Nyxt that's great is this idea of trying to push towards being renderer-agnostic. I'm not sure how achievable that is in reality, but when you hear the idea you think oh yeah, surely that would make sense if we want to have good things in the world.

To all the people saying "I like my mouse! Why are these keyboard people so elitist!", the Nyxt people are not on a crusade against your lovely mouse. This isn't ratpoison (a window manager I adored using for a while, but that's a different story).

I have never seen anything on the Nyxt blog or elsewhere claiming mouse-users aren't humans, with full rights, deserving of fine browsing experiences like the rest of us. If I missed something, go ahead, please link it to us all and prove your point.


https://www.nongnu.org/ratpoison/inspiration.html

That's linked to from the ratpoison page, I enjoyed reading it a few years ago, it hasn't gotten any less funny in the meantime.

Why did I ever leave ratpoison...


gold. thank you for this. as regards ratpoison, have you looked at stumpwm?

No, but I've been meaning to get around to trying it out! Is it wonderful?

its what ive been using for years

I've used this browser for a long time. At first, it was very promising, but later on, I found it quite distracting when I needed to work, so I had to give up. If you enjoy the vim-style feel of operation, you might want to try this browser's extension, as it can accommodate your habits along with normal web browsing. Of course, I still hope that the browser can improve, and I will try downloading it again to use for a while.

https://chromewebstore.google.com/detail/vimium/dbepggeogbai...


I am using Vimium all the time. It's so ingrained in my muscle memory that I do not remember the key combinations anymore.

I feel I could use it more. I use the link jumping all the time, but that's basically it. What other features do you guys use?

Shift-T: triggers a tab switcher

D-U: is Page Up/Page Down

/: find in page


A few years ago I doggedly tried to switch to Nyxt for everyday use. I really liked the concept, but at the time, it was too buggy, and constantly crashed on me. I'm going give it another shot.

Nyxt is very promising, and I hope it gains momentum. The obvious advantage of Nyxt is programmability and keyboard-driven workflows.

However, I use old hardware, and it's a bit slow and laggy. Chromium behaves the same way, so I imagine this is due to WebKit and Blink being significantly heavier than Gecko.

Firefox is really snappy on old hardware, at least when running Linux, and uses a modest amount of memory.


Hmm for me on BSD it's the opposite. But every release something breaks in Firefox' GPU acceleration so I've kinda stopped trying to fix it. I assume chromium handles that better. Though I don't use it much.

What's considered old nowadays? My current desktop had some ~3Ghz AMD processor from ~2020, I don't even remember what it is. Maybe 16 GiB of memory. Runs Firefox and Jetbrains good enough that I've not had to consider upgrading. I use a Debian based distro.

Not GP, but I have an i5 from around 2015. 4 cores, no hyper threading), 32GB ram. And it's still good enough for most things. Adding ram and a decent SDD gave it many extra years.

In the prosess of switching it out completely now though.


What kind of work do you do with those specs? I have a machine from around the same period with similar upgrades and I feel that it really is good enough, especially if you don't play video games.

It's actually the machine I use when working from home and it works fine.

PyCharm IDE on a moderately big project. We've recently focused on moving towards fully type hinted code base, using pyright as the checker/LSP. Which means I use a good-enough-but-not-great plugin which makes pycharm use pyright instead of the buggy heuristic based built in type "engine". And this is noticeable slower, which is part of my motivation for upgrading.

Other part is to be able to play a few games. I could probably just upgrade my GPU, but I'm not sure if it's even possible (outdated PCI port on my MB I think) without getting something second hand.

Third part is that I want to play more with the new NLP technology which is rapidly reaching a point where it should be possible to do a lot of cool stuff. And I want as much as possible to run locally.

My current old CPU is i5-3570 CPU @ 3.40GHz


I had a similar CPU (i5 4690k) and it would have been good for a few more years, if not the 3080 I once bought after a fight with my wife. Old CPU was just slowing it too much.

OP here, running an i5-4250U. A 10-11 year old low-power CPU and a SATA SSD, definitely quite slow by current standards.

Firefox with ViolentMonkey and uBlock Origin is my go to solution. I keep hundreds of tabs open, Chrome|ium is simply a memory hog.

I used Greasemonkey for some time. What do you find ViolentMonkey useful for these days?

> The obvious advantage of Nyxt is programmability and keyboard-driven workflows.

Example real-world workflows that highlight the advantage of Nyxt over other browsers?


Is this because Nyxt is an Electron App? (Is it?) The github commit log mentions it. Or is that just a "variant" of Nyxt?

Fortunately GTK. Contributing manual only says that Electron support is experimental.

Cool, thanks. So there is the flatpak version, the Electron version, and the GTK version? Is there an easy way to install the native GTK version on recent Debian(+backports)? Or only "make && make install"?

Install Nix and you can launch Nyxt, and many other things, without even installing them in Debian.

In case of Nyxt, once Nix is installed, just run nix run nixpkgs#nyxt.


It's been my default browser for about a year. Most bugs have been fixed. Only twitter still crashes it.

The one thing holding me back from this is not being able to run UBlock origin on it yet. I keep telling myself that eventually I'll have the spare time to change that myself....

It already has an adblocker. Check the FAQ.

AdBlocker, yes. UBlock Origin, no. Maybe it's since reached feature parity, last time I checked it hadn't from what I could tell.

so much this.. probably once a year I remember that nyxt would be really cool to use, but then I see it still doesn't support adblock on youtube and thus forget it again.

Not sure if anyone else remembers uzbl but I'm sad that didn't catch on. Will give this a go I guess.

I definitely remember ( and miss) both uzbl and luakit.

This is a timely coincidence for me. I started using yesterday Shortcat [1] for the Mac, and I'm very pleased. It gives you access to pretty much everything with the keyboard, not just the browser. To be fair, Nyxt provides other features such as scripting.

[1] https://shortcat.app/


I really wish it was open-source. I loved the concept and the app worked in most applications (though not the best with Slack). But I have reservations when it comes to granting full screen access to an app made by some unknown developer.

I feel the same, so I simply block its network access (via LuLu), and it works just fine that way. I wish it was open source so I could hack on it and so development could continue - it's a really cool idea and works pretty well.

Pretty wise comment about web extension support by the main dev here: https://github.com/atlas-engineer/nyxt/issues/2875#issuecomm...

Another interesting one, about whether or not to build on electron: https://github.com/atlas-engineer/nyxt/issues/2989#issuecomm...

> People tend to think in terms of what they could lose, and not in terms of potential gains. It's easier for users to take familiar extensions to a new browser, than having to learn how to use an analog.

How is this thinking wise? What are the potential gains and analogs for the end (without having to learn how to code)?

What is the analog to Bypass Paywalls Clean and Cookie AutoDelete as an example?

If writing new extensions in Common Lisp was so easy, why do they only list two extensions as available?[1]

Nyxt and qutebrowser target power users but leave out WebExtension support. I think they'd be a lot more popular if they didn't.

[1] https://nyxt.atlas.engineer/extensions


They do not leave out WebExtension support, they are working to get there:

> We're focusing on #2989 since it will allow running Nyxt on macOS and support WebExtensions. https://github.com/atlas-engineer/nyxt/issues/2875#issuecomm...


Like, they are working on it right now. Or the prerequisite, to get electron version of Nyxt working. https://github.com/atlas-engineer/nyxt/issues/3544

Did you interpret the comment as an argument for not having web extensions and recreating the features builtin instead? Because I'm fairly sure it's saying the opposite, even the last you quoted.

So why this over qutebrowser [1] ? (Which has been my go-to keyboard-first browser for a long time.) This isn't mentioned in the FAQ despite I think being the natural comparison.

[1] https://github.com/qutebrowser/qutebrowser


As someone who used Qute for a long time:

* Python is much slower than SBCL (yes, even if rendering is done by Blink); including the lack of threading

* Bookmarks are pure crap, they don't have tags nor directories to sort them better

* Less hackable (e.g. something that should be possible in Nyxt: https://github.com/qutebrowser/qutebrowser/issues/3933)

* Massive gaps: https://github.com/qutebrowser/qutebrowser/issues/2328 https://github.com/qutebrowser/qutebrowser/issues/2492 https://github.com/qutebrowser/qutebrowser/issues/5731 (!!!)

* Per domain/URL settings never progressed further than the initial batch of properties: https://github.com/qutebrowser/qutebrowser/issues/3636

* Adblocking is better than hostfile but still missing a lot compared to uBlock (https://github.com/qutebrowser/qutebrowser/issues/6480). No script blocking matrix like uBlock "advanced mode" at all.

My impression is that it has been stuck in bug fixing/dependency churn for a long time now. Switched to Firefox while waiting for Nyxt to be usable (apparently, Nyxt 4 will be it).


> My impression is that it has been stuck in bug fixing/dependency churn for a long time now

I don't think it's just your impression: it's exactly what happened. Depending on Qt for the rendering engine means the browser has been tied to the painfully long release cycle of the whole of Qt. Quickly fixing bugs or implementing new features is hard, they have to hack around limited APIs, beg for more and continually fix new bugs introduced by upstream (both Qt and google).


Nyxt does have ublock origin? It would be a must have for me too.

Not yet, but Nyxt 4 is supposed to support WebExtensions.

Nice!! Then I can also use my password manager and more. Will deffo give it a try then. I hope it'll come soon.

you can redirect in QB. this is how i do it (from my config):

    def redirect(info: interceptor.Request):
        if info.request_url.host() == "en.m.wikipedia.org":
            new_url = QUrl(info.request_url)
            new_url.setHost("en.wikipedia.org")
            try:
                info.redirect(new_url)
            except interceptors.RedirectFailedException:
                pass

Cool, thanks for the tip!

For me; CL/SBCL. It is more fun for me.

I loved qutebrowser, but many pages didn't work because of the rendering engine. That made me go back to Firefox.

The engine is QtWebEngine, which is essentially Chromium without the proprietary stuff. It may a be a bit outdated, but I've never seen a page not being rendered properly. Maybe you used it way back when the default engine was QtWebKit.

Interesting. I'll give it another try.

Also no Python, all Common Lisp.

Vim vs Emacs bindings for one.

You can configure both to use either.

List of emacs-like config in Qutebrowser:

https://github.com/qutebrowser/qutebrowser/blob/main/doc/hel...


Like always it's a second class citizen. I spend a stupid 6 months trying to use emacs like vim. Emacs isn't a text editor. If you need to edit text as a rectangle of characters then you can drop in evil mode. Expecting to use emacs control characters from evil mode it a bit like using Kanji to write English.

Evil (VIM emulation mode in Emacs) does not in any way behave like a second-class citizen. I use evil every single day and it's fantastic.

Emacs is a text editor, yes, among other things.

If anyone is reading this who hasn't tried Emacs, don't let takes like this spoil you giving Emacs a try. Doom Emacs is a fantastic experience to get started but there are more minimal starter kits that give you just evil-mode to start.


I literally said you can use evil mode to edit text.

But trying to use vim inspired motion and editing in other modes is a terrible idea. Just learn how Emacs does it and stop thinking of everything as text. There is usually deeper semantic meaning behind the syntax that an Emacs mode will let you edit directly.


If you want to write English using kanji I recommend starting here: https://www.zompist.com/yingzi/yingzi.htm

It was my experience too that it's better to commit to using Emacs like Emacs. `C-x SPC` is the Emacs way to select a rectangle of characters.

Doomemacs was everything I wanted Neovim to be for me personally. I know it’s a big war on the web, but for some of us evil mode emacs is the easy way to use vim motions.

The only real disadvantage for me is that it’s significantly easier to run Neovim on windows (work).


Some good ideas here especially the history tree and keyboard history. Don't care much for the hacker = keyboard mentality, I enjoy using my mouse.

Please, it's only in the comments that people are reducing a complex reality to a silly and childish "hacker = keyboard" thing.

Nyxt aims to provide a great experience for emacs and vim users from the first run, but also has CUA bindings, and also has absolutely standard support for pointing, clicking, dragging, you name it. Get your mousing hand ready, binary_slinger, because the 1s and 0s are ready to get slung inside Nyxt


"I don't want to learn. I don't want to drive. The more you drive, the less intelligent you are."

The tree based history feature is amazing

IMO browsers should remember browsing history (what pages have I been on, and how did I get there), yet I never seen a browser that can do that.

Firefox does, but does a really poor you if exposing that info. (See places.sqlite)

Huh, you're right. I thought it only kept record of the last visit to any URL, because that's what it shows in the GUI, but the DB does have prior records... It's weird how they went through the trouble of hiding entries in the GUI.

What do you mean with hiding? There is a whole submenu for history, with multiple different interfaces for navigating the history. For me it's right under bookmarks in the app-menu/burger-menu, or in the sidebar.

If you're on site foo, then go to bar, then baz, then bar again. The history GUI, whether the sidebar or the history manager (Ctrl-Shift-h), is not going to show foo, bar, baz, bar. It's going to show foo, baz, bar. The first time you went to bar is hidden. It's present in the DB, but no part of the GUI AFAICT is going to mention a visit to bar between visits to foo and baz.

Wonder if there are issues waiting. Recently Firefox nightly got tab grouping, a old demand by users, so who knows:)

Anyone interested can also check out the Vimium browser extension.

There is also Homerow (homerow.app) for MacOS that does this on a system level

Homerow looks very cool. Is it actively being supported? Looks like it still uses App Center despite that being sunset, plus the change log shows the last update in June 2024, and before that in April 2023

Tridactyl for firefox is amazing too

Or VimFx

Surfingkeys is my preferred extension

Or Tridactyl.

I have been interested in this project for a while now. That somebody has now added to the documentation:

"Nyxt is a browser with deeply integrated AI"

Made me entirely lose interest.

It sounds like it could be a privay problem

I did however dig deep to figure out what their EULA and whatnotstates. (or the code)


Classical AI, not the bullshit parroter.

I still find it confusing - was that a thing, historically, that the mere use of Common Lisp meant that the thing written in Common Lisp was considered "AI"? I thought it was a general-purpose, high-level language, that was sometimes used for projects which might be called Artificial Intelligence projects, depending on the whims of authors.

Or is something more specific being referred to?


> Instantly switch between your tabs [...] Easily find relevant tabs with a fuzzy search

I personally use virtual desktops for organizing windows of tabs, but if I was one of the masochists who had 100+ open tabs, I would be moving to this immediately


As one such masochist, I hesitate because the tabs aren't tabs. I'm not saying there should be tabs, but this is different. I tend to see a page and open interesting links in new tabs, so the tabs to the right of the current tab are related to this tab. So, there's a tree-like organization to the tabs, even though they're presented linearly. In this browser, that kind of information seems lost, at least in its stock configuration.

Windows are also about particular topics, but here all windows have all buffers available.

The fuzzy search doesn't really do anything for me. I'm not really interested in seeing e.g. all Amazon tabs together. I'd prefer to see some Amazon tabs that are about particular selections of books next to other tabs of various URLs and titles that are also about those particular selections of books, and in the tree/linear-like order they were opened in.

Also, the tree-like order isn't always from following a link. I may, for example, check out a book on an Amazon product page, and a reviewer makes mention of other similar books, so I may open tabs next to this one that search those titles somewhere (DDG/Amazon/etc).

If I were to make this usable for me, it's probably by automatically keeping record of what buffer I was on when I opened a new one, then making a buffer that presents this information in a modifiable tree. The fuzzy search can be replaced by a search in this buffer. It would simply scroll to the spot, so I'd have access to ancestors and descendants from the match.

A benefit of generalizing to buffers rather than webpages is that presumably I could make simple placeholder buffers that act as parents representing topics where I would have used windows in the past.

Also, I'd need keybindings to walk the tree like Ctrl-Tab and Ctrl-Shift-Tab. Maybe also a way to set the root node for a window, to limit the navigation of Ctrl-Tab in it.

Another thing is that it also facilitates closing tabs when one's done with a topic. Firefox has "close all tabs to the right" for that, though one can also middle click a tab repeatedly until enough tabs have been closed to close a (sub)topic. The buffer tree would simply need to have some "close this and descendants" type of option.


>If I were to make this usable for me, it's probably by automatically keeping record of what buffer I was on when I opened a new one, then making a buffer that presents this information in a modifiable tree.

This is already available in the form you described as Global History Tree. See: https://nyxt-browser.com/article/global-history-tree.org

But this is only a presentation and no management (currently) exists. A 1-1 window/buffer map is (also) an open issue.


I am one of those masochists frequently with 200+ tabs open and Firefox does an excellent job managing them.

Prefix a query with '%' to search only within open tabs.


Chrome has tab search. In MacOS, Shift+Cmd+A

I love visual navigation and exploration and wish programming was mouse-only too (with an on-screen keyboard to help with names). I’m actually using this setup for browsing - lots of bookmarks and gestures and an on-screen kbd.

Typing is overrated. Very sad that our tools are all typing-based.

(Yes I can point at least at prolog, epilog, mov reg,imm and int nn parts in a 8086 hexdump, if you’re curious how true of a hacker this is.)


Is this standalone or an emacs plugin? I rather use vim motions, so is this locked to emacs, or can i do vim style for things instead?

The only connection between this and emacs is that both use a Lisp language (Nyxt is written in Common Lisp)... and that Nyxt is inspired by how emacs works. Anyway, why did you assume it is an emacs plugin? It doesn't say that anywhere.

My first impression was the same. Mostly from the screenshots, each one had multiple places with an "emacs" text element. If this is not bound to emacs, what the hell is the emacs thing doing there?

It's written in common lisp which is universally written in Emacs.

(which can be written in other editors: https://lispcookbook.github.io/cl-cookbook/editor-support.ht... vim, VSCode with LSP support, Jetbrains, Atom/Pulsar, Sublime, Jupyter notebook…) (just saying to not scare people. Emacs is still the best for CL IMO)

Yes, I can also wear underwear as a hat.

Please, netizen, educate yourself. Common Lisp is written in many places outside of Emacs.

If you want to wear your underwear as a hat, that's your own business. Don't blame Common Lisp, or the array of editors which have nice support for it.


i imagine it means emacs keybindings, as opposed to vi keybinds, in which case that indicator would indicate the mode

It's a standalone program, and you can absolutely use vim keybindings! Not locked to emacs in any way.

Out of the box it is ready to do vim keybindings, emacs keybindings, or CUA style keybindings. How practical, wouldn't you say? :)


Last I used it, default keybinds were very emacs-y, but there was a vim mode (was a bit rough) you could use instead.

standalone

Took a while to find this (windows user, me - always looking for something new):

For which operating systems is Nyxt available?

Linux BSD (unofficial) macOS (experimental) Windows (unofficial (via WSL))

Official ports for Windows and macOS are in development.


As someone that started in computing when affordable computing was all about keyboard, and mices only existed in computers with prices similar to buying a car or a mortgage, I don't get the hype of keyboard == hacker mentality.

Specially since that on my hacker circle of Demoscene, during the 16 bit days, we were mostly on Atari and Amiga systems, then we had plenty of mouse time, and no one ever stop to wonder we weren't hackers because we had mices.


>I don't get the hype of keyboard == hacker mentality.

This is not about a hype or "looking cool". Mouse and GUIs are faster and more ergonomic for exploratory activities ("how do I do X" for a new task, skimming a document or folder, etc), while keyboard (keyboard shortcuts, command line) is faster for routine, repeatable tasks. Web browsing is full of the latter.

I personally strongly prefer the keyboard and find it exhausting to reach for the mouse all the time, but it's a matter of personal preference. I don't think less of someone when I see they heavily use the mouse when programming, though in my opinion they are missing out.


Browsing is mainly of exploration (e.g. reading) then data entry (which does require a keyboard but all on one page no scrolling) and much less repeatable tasks.

My hand is usually already on the mouse. Switching apps, scrolling text etc.

I started on PC-DOS and mainframes so was originally all keyboard, but having mouse made things much easier for me.

Now don't get me started on gestures - I can never remember any. - Which might be some of the reason to use mice I can't remember a lot of keyboard shortcuts let me have discoverable menus etc. Pit Smalltalk did not become mainstream.


Thats interesting. Im using GUI Windows OS, but im very heavy keyboard user, utilizing shortcuts and alt+tab for windows switching. I barely even use start or desktop to start most common apps I use. I wrote myself QuickRun tool that is activated by Win+Q, and I type what I want to run. Usually its just 2-3 first letters of alias name, like bash and autocompletion kicks in. Mouse is used mostly to position windows sometimes. Keyboard is just much faster..

Do you use multiple desktops? Windows seems terrible at positioning windows, I can't work out how to tell a window to move to the next desktop, say, or just start on a particular desktop (nevermind start at a particular position). Instead it takes a lot of mouse work just to setup after a boot/reboot.

Do you have a solution?

I'm stuck with native solutions, otherwise I gather this can be fixed with AHK. I'm interested in what you use either way.


I'm currently using this[0] AutoHotkey script library for such purposes.

[0]: https://github.com/FuPeiJiang/VD.ahk


I've never seen the point of multiple desktops, but I went and found out the answer to the first question anyway. You hold down win+tab, a nice layout appears showing all your windows and all your desktops, and you drag a window to a desktop.

I notice you can also reorder the desktops: right click (while holding win+tab), select "move left". Maybe it will then boot into whichever one's leftmost.


Yes, I already use win+tab, but that is quite a lot of mouse work, what I was hoping for was shortcuts like KDE has 'move app to next desktop', or even better there was some hidden menu or trick to get apps to open on the desktop I want them to live on.

Yeah I am, but im on very old Windows.. Also, I never bother that much about windows positioning. Because most stuff is usually maximized already, hence I often use alt+tab to switch. As for multiple desktops, I use Desktops 2.0 with is great little utility to create 4 virtual desktops. You can switch between them using Win+[1-4] so again, keyboard shortcuts. You cannot move windows between desktops but its not issue for me. I like this feature actually. I treat those desktops like some contexts. Basic, Work, VM.. So, apps cannot escape given desktop.. And apps are nicely segregated this way. Switch is instant.

I'm curious what extras you can do with your tool. I use spotlight style search with Microsoft powertoys with good effect. Admitidly stuff like unit conversion doesn't come up often but very helpful for finding files and apps compared to Windows search.

Absolutly no extras. I used to use SlickRun with is much more heavier tool, but I never ever used those extras. And since I started to using Desktops 2.0, I had to write my own tool that was aware of virtual desktops. Everything else I handle from bash (Cygwin).

You can take a look at it here: http://borg.uu3.net/~borg/?quickrun

Be aware tho, it looks ugly in Win10 and onward.


> My hand is usually already on the mouse. Switching apps, scrolling text etc.

When using Linux my hand is almost never on the mouse and I groan when I have to do it. My terminal, browser experience, mp3 player, IRC client, etc, are all usable with only a key board. Even rearranging windows is just a keyboard action.

Even on windows, I can't remember the last time I switched windows with a mouse instead of alt tab. Scrolling text is just pressing j in vimium or even in vanilla chrome just pressing spacebar. If your hand is on the mouse that much you're probably not being optimal


What a wonderful DG/UX like user experience....

I was surprised that Trackpoint-style devices still remain a niche product since it explicitly solves the "I need to move the cursor but don't want to reach for the mouse" problem.

I'm aware of about four models of standalone keyboard with it available, but that's trivial even compared to the bazillion keyboards with touchpads for couch typing.


Even outside of the “hacker” community, keyboard has always been associated with higher expertise. Average “MS Word” user - Navigate through various menus to find what they want to do. Power Users - Memorized all the “shortcuts”.

I think that’s mostly what it is. A keyboard (and a bunch of memorizing), gives mastery over the applications UI.


I still miss Wordperfect for that reason: messing around with Word wysiwyg, even with people who have decades of experience, is just painful to watch or do.

WordStar!!! :-) I wrote two novels in that thing.

Check WordTsar

Maybe it just strokes the egos of those desperate for some validation

Some shortcuts are helpful, until one needs to do anything that affects visual position or drawing.

Very few people master shortcuts that require three key chords or more.


> I don't get the hype of keyboard == hacker mentality.

It's all about investing a little time to learn something that dramatically speeds up your workflow. A mainstream user has no interest in this even if they work with the computer all day. Hackers as computer enthusiasts do.

When you worked on those early computers you either had to be an enthusiast or be forced by an employer to use them :)

GUIs are great for infrequent tasks. TUIs for efficiency at frequent ones.


I don't consider being computer enthusiasts a synonymous with keyboard only use.

As mentioned, I started into computing when TUIs were the only affordable computing model.

There is no magic to me about whatever greatness of TUI and CLI.


We're talking about a web browser, right? What workflow?

It's an elitism thing. Notice the terminology "investing time to dramatically speed up workflow". This is the mantra that the keyboard-only adherents have latched onto, and extend to EVERYTHING, including things that are perfectly serviced via mouse control, or don't even need speeding up.

Arguing with them is like arguing with audiophiles.


Not sure why arguing is needed? You like a mouse, I think it sucks. If we meet up, we can trivially measure what is faster. What is there to argue?

Or we can not measure which is faster and just respect that everyone has their own preferences.

The irony is that the side accusing keyboard users of elitism is asking them to respect everyone's preferences! Sure, but the keyboard users didn't start this discussion either.

Also fine :)) Just no need to argue about it.

How to make interfaces for popular software. Or even unpopular software.

What strikes me as odd is that this browser is not in a terminal, but in a window. So no usage through SSH, no terminal benefits, which are the origin of the keyboard-oriented workflow.

When I press F12, does an inspector open? Where does it open? When I select some words, how do I send them to a new tab in YouTube, Amazon, Google or Stack Overflow? How do I open all the links which are within a selected rectangle in new background tabs? Or use uBlock Origin's element picker?

I'm pretty sure this browser is super fast and all is super optimized and a top tier workflow, but mostly in certain limited scenarios.


> When I press F12, does an inspector open? Where does it open? When I select some words, how do I send them to a new tab in YouTube, Amazon, Google or Stack Overflow? How do I open all the links which are within a selected rectangle in new background tabs? Or use uBlock Origin's element picker?

What did you think of the demos? The sorts of things you mentioned seem like things doable in NYXT based on the demos, possibly even the exact sort of stuff they are trying to make possible. It looks like it's basically Common Lisp with a web browser attached, which suggests it should be fairly moldable too. I have not seriously used it myself though, so I can't say for sure what the limits are.


You use the browser only to browse? We have all kinds of, usually quite shitty, web apps all types of LoB, ERP, etc. There is a lot of workflow to improve on.

Not necessarily with Nyxt or keyboard of course.


Even with a pdf browser, keyboard shortcuts come in handy. Especially with a big enough screen so that you can display the whole page at once.

Finding relevant text quickly. On the web. The web is where you go to find more information.

For text editors or IDEs, basically contexts where we expect a lot of typing, I get why sticking to the keyboard is desirable. I don't get how it's better to browse the web without using the mouse. Most of the time on the web I just read, not type.

>Most of the time on the web I just read, not type.

This is kind of why it works. In vim you spend most of your time in normal mode, reading, moving around, making quick edits. It takes good advantage of the whole keyboard even when you're not writing new text. I use qutebrowser, which has default vim-style bindings for everything and an emphasis on the keyboard. It works very well.


I think an important difference between how I use vim and how I use a web browser is that in vim I need to type frequently. Though I may spend most time in normal mode in vim, I still need to switch to insert mode to make edits very frequently. With my normal web browsing it's not the case, so I'm more comfortable with a mouse for that. But I realise that this depends largely on the specific use case for web browsing. Reading blog posts is quite different from reading some documentation where one needs to search and backtrack frequently, for example, although both are done on a web browser. The latter involves the keyboard more frequently so would benefit from a keyboard-centric interface more.

I wonder how much of that is how and when one comes up in the industry. I learned a little vi at uni only by necessity after years of DOS and Windows 3/9x. It felt so awkward. Decades later I only use vi on servers, but slowly its macro ('normal') mode has grown on me.

For me, I’m often using the web as a reference while programming. It’s nice to be able to flip over to it (using the keyboard) and use the same familiar key bindings I’m using while in my workflow.

That's indeed a nice use case. In general keeping to the keyboard can be helpful in the context of typing, but if I'm just reading news or blog posts or watching videos I'd go with a mouse.

For best ergonomics, both should be well supported.

If I'm programming and want to look up something in the docs, then it's annoying to switch to the mouse and then back, but I pretty much have to with traditional browser UI. (Or tab through a million links to find the right button to click, use cursor keys to scroll, etc.)

Similarly, if I'm just scrolling around with the mouse, then I should be able to do everything that I can with the keyboard (apart from text input). The context menu is good for discoverability, but being context-dependent makes it impossible to rely on muscle memory.


I think it goes like this https://i.imgflip.com/9d2ec7.jpg

its a productivity thing, would you rather type text with a physical keyboard or would you rather use a virtual keyboard and mouse?

you can miss more easily with a mouse and have to adjust the position of the cursor to line up on two axis before any action


That's a false dichotomy. I'd rather have a physical keyboard and a physical mouse (or touchpad).

The "line up the two axis" thing is immaterial, and has no practical impact on actual productivity.


Minimal impact and no impact different.

“Line up the two axes” was kind of a silly way to put it, but the position you aim your cursor varies quite often, but where you type on a keyboard doesn’t.

You can develop muscle memory for the latter. It’s why hotkeys are so widely used.


I guess it depends on the kind of application. I use the keyboard a lot, but I'd kill myself if I had to use the git command-line interface. Once I bought Sublime Merge, I stopped learning what was (and still is) a waste of time to me. I'm faster with a global visual description and a mouse for some tools.

While Sublime Merge is a nice piece of software, Magit is the very best example of a power user tool. Fast, versatile, and intuitive.

That is a really biased way to spin things. Of course virtual keyboards are the worst of both worlds. And lining up a mouse on multiple axes is just an odd way to look at it -- on a keyboard you need to line up your fingertip on three axes for every keystroke, if you are wanting to go to that level of detail.

I don’t think it’s very biased.

When using a mouse you need to completely move your hand to another device, and aim that device at an arbitrary position.

With a keyboard the positions you move your fingers are fixed and because of that, you can develop muscle memory and type very quickly without thinking about where to move your fingers. It’s called “touch typing.”

There’s no such thing for using a mouse since the target position of the mouse movement can vary wildly from website to website and can vary based on the position of a given window.


Using a mouse is completely natural if you do it often. So is using a pen on a tablet. Whatever you use, you get so used to it that is it an extension of your own hands or whatever you use to control input. Your own bias is showing in the assumption that you can develop muscle memory for keys but not other input devices, or that because links are in different places, the mouse becomes cumbersome.

You can’t develop muscle memory when your target movement isn’t the same.

Using a mouse is natural as in intuitive. You don’t need to really tech someone to use a mouse. It’s easy in that way.

But that’s not the same as muscle memory. Using my hands is very natural, but when learning guitar, I still need to be conscious of what position my hand is going to be in. After a while, since my hand is constantly going to the exact same position, I develop muscle memory and no longer need to be conscious of where my hand is going.

I feel like I shouldn’t need to explain muscle memory with analogy.


Touchpads exist.

A mouse (or rather, a floating cursor) is often a much more efficient way to get your cursor in position than slamming your arrow or hjkl keys multiple dozens of times.


Touchpads don’t solve for muscle memory for the same reasons mouses don’t.

And yeah, of course. Most people who use keyboard based workflows dont just use hjkl to move a cursor around. In vim, for example, there are many more text-centric ways of moving around a document.

Using a keyboard is generally much faster. Try using your daily code editor without any hot keys at all. No F5, no Ctrl-s, none of that.


> Touchpads don’t solve for muscle memory for the same reasons mouses don’t.

Uh, what? I have my touchpad tuned so that one swipe from top left to bottom right is exactly equal to going from the top left to bottom right of my display. And aside from that, how do you think people play FPS games, that they think about every mouse movement and then do it?

> Most people who use keyboard based workflows dont just use hjkl to move a cursor around.

> Try using your daily code editor

One of the few usecases where you can do that, and in general is extremely heavily biased towards keyboard use.

Having a touchpad or mouse is great because it is adaptable and versatile. It doesn’t require the application developer to have accommodated every step a keyboard user wants to optimize for. Not to mention there is no “quickly” using your keyboard with one hand if you constantly need to hold modifier keys :)

> Using a keyboard is generally much faster.

That was my point, it is until it isn’t. On any application without Vim or EMacs bindings I’ll happily be leaping over hundreds of lines of text with one or two swipes whilst you are sitting there, going taptaptaptaptaptaptaptaptaptaptaptaptaptaptaptaptaptap with horrid inefficiency.


> I’ll happily be leaping over hundreds of lines of text with one or two swipes whilst you are sitting there

I’d be doing search and land exactly where I need to be. For each important operation, there’s always a more efficient operations as shortcuts are composable in a way pointing is not.


> Uh, what? I have my touchpad tuned so that one swipe from top left to bottom right is exactly equal to going from the top left to bottom right of my display. And aside from that, how do you think people play FPS games, that they think about every mouse movement and then do it?

I think that FPS players are conscious of where they are aiming. They don’t just automatically move their mouse in the exact same way to hit every enemy on screen.

There may be some specific movements, like swiping or turning 180 degrees which have a specific motion (or gesture) related to it, but that isn’t the same as aiming, which you can’t memorize as where you aim is different every time depending on your targets position and movement.

> Not to mention there is no “quickly” using your keyboard with one hand if you constantly need to hold modifier keys :)

Yes there is :)

> On any application without Vim or EMacs bindings I’ll happily be leaping over hundreds of lines of text with one or two swipes whilst you are sitting there.

I’m sorry, but this is a bad argument. Obviously is software isn’t made to support keyboard centric use, it will not be great to use it only with a keyboard.

Imagine if you were writing a book, but your software wasn’t made with keyboard support. You’d need to use the mouse to click every letter. Or one where each clickable button is buried in >3 layers of dropdown menus. That would be equally terrible.

If you have an application optimized for keyboard interaction, it will be faster (tho less intuitive) to interact with it than one which is optimized for mouse movements.

There is a good compromise between speed of use and intuitive usability which is mouse-centric with hot keys.

But to interact as quickly as possible, you’d want to stick with one consistent input device, and motion based input devices don’t cut it.

I mean use what you want though. If you like using a mouse, use it.


Why bringing virtual keyboard into the picture, we aren't talking about tablets and phones.

> I don't get the hype of keyboard == hacker mentality

There's no (or extremely little...) hype, it's just the sort of thing which starts to appear prominent in a world where conversations are driven more and more by the titles on videos and articles, rather than the other way around.

I claim that the following are all pretty factual, all at once:

1. meese can be faster and more convenient, in certain cases

2. keyboards can be faster and more convenient, in certain cases

3. what people (even the computer-savvy) are used to matters much more than what is "objectively" best or fastest or whatever

4. "hacker" is a polysemic term - playful creative norm-bending, technical mastery of some domain, making Ataris and Amigas do funny stuff it seems they shouldn't have been able to, getting access to a gaming console you weren't supposed to, solving a problem in a surprising manner, reverse engineering some game, etc

5. emacs is an empowering, wonderful text editor

6. so is (hyper/super/ultra/n/eo/) vi(m)

7. nyxt is about much more than keyboard shortcuts (Lisp, freedom, etc)


As a younger person, I've never really been alive for a computer that had no mouse.

So for people of my generation, it's really only the tech savvy ones that would use key commands for anything but the most rudimentary stuff (think copy, paste, save, and print).

Thats not to say that keyboard == hacker mentality, but that a keyboard-first tool like this wouldn't really target the average consumer at this point.


Keyboard is not only faster, but requires less attention.

Depends on the typing skills between chair and monitor.

I think you're projecting a bit. I'm sure there are a few weird KEYBOARD VS MOUSE people that occupy the same bizarre neurotic domain space as TABS VS SPACES, but most people just have their own personal preference and leave it at that.

Personally, it's not about what's faster - it's about switching. If my hands are already resting lightly on the keyboard, then the keyboard is faster - and vice versa.

To decrease the amount of switching I have to do, I use an extension called Vimium that quickly highlights all links with key bindings. For example "g i" automatically puts the first <input> level field into focus.

https://github.com/philc/vimium


I was intrigued until I saw this in the FAQ:

> What is Nyxt?

> Nyxt is a browser with deeply integrated AI and semantic document tools that work as a second brain to help you process and understand more, more quickly.

No mention of what sort of "AI", where it's run, etc. If nothing else, this sounds like a recipe for a warm laptop and unreliable results.


Nyxt has been around long before the whole ai hype.

I guess they’re just trying ti ride the marketing wave.


The AI plug is obligatory. They have to ride the hype train too.

This browser was around before AI was popular and when I used it, it was great. The only downside is the lack of ability to run extensions, like bitwarden.


Nyxt is supposed to be as extensible as Emacs and way more extensible than mainstream browsers that use WebExtensions. The lack of extensions is likely due to its miniscule market share.

> The lack of extensions is likely due to its miniscule market share.

It's because they are not implementing support for WebExtensions. Which is of course not that simple, but it's not because of lacking market share.

And it seems they are kinda have it on the list[1], by switching to chromium[2].

[1] https://github.com/atlas-engineer/nyxt/issues/2875 [2] https://github.com/atlas-engineer/nyxt/issues/2989


Somebody should use the extrnsibility to integrate it with blockchain then, to make even more cool.

(and more hot)


hahaha, you’re joking right? honestly I can’t tell over text

Not at all. A blockchain integration will go perfectly with the builtin AI.

Joking. But there is some truth in every joke...

Just clustering, which makes sense, as far as I can see peeking at the code. Whole codebase is lisp which I don't have a ton of experience with so caveat emptor.

https://github.com/atlas-engineer/nyxt/tree/master/libraries...


I agree that's is a bad look, and I wonder who does Nyxt's writing. And I wonder what they mean, I didn't think there was any sort of LLM integration, and definintely not built in... has something changed there?

Do they just mean it's built with Lisp? What are these semantic document tools?


When I first tried nyxt I never saw anything about AI (I never ended up using it because it would frequently crash and it was annoying to customize)

Last time I looked there was no AI at all. I guess it's a buzzword the so called manager of the team felt obliged to put in.

im inclined to believe this is gof ai not nn ai

Had to look that up: "Good Old-Fashioned Artificial Intelligence"

Related. Others?

Nyxt – The Hacker's Browser - https://news.ycombinator.com/item?id=39183823 - Jan 2024 (2 comments)

Nyxt: The Hacker's Browser - https://news.ycombinator.com/item?id=36006423 - May 2023 (252 comments)

Nyxt 3.0.0 - https://news.ycombinator.com/item?id=35869378 - May 2023 (30 comments)

Why Lisp? - https://news.ycombinator.com/item?id=35852321 - May 2023 (327 comments)

Nyxt 3 Pre-release 1 (a Lisp powered web browser) - https://news.ycombinator.com/item?id=32097424 - July 2022 (66 comments)

Lisp in Production: an interview with the guys behind Nyxt Browser [video] - https://news.ycombinator.com/item?id=30271989 - Feb 2022 (15 comments)

Nyxt browser annotations beat pen and paper - https://news.ycombinator.com/item?id=30184792 - Feb 2022 (46 comments)

“Why should I use Nyxt if I can use Vimium?” - https://news.ycombinator.com/item?id=28632422 - Sept 2021 (10 comments)

Nyxt 2.2.0 - https://news.ycombinator.com/item?id=28623720 - Sept 2021 (35 comments)

Nyxt – The Internet on Your Terms - https://news.ycombinator.com/item?id=28037300 - Aug 2021 (1 comment)

Show HN: Nyxt Browser 2.0.0 - https://news.ycombinator.com/item?id=27219646 - May 2021 (121 comments)

Nyxt Browser - https://news.ycombinator.com/item?id=26509612 - March 2021 (125 comments)

Nyxt browser: mouseless copy/paste - https://news.ycombinator.com/item?id=25956152 - Jan 2021 (56 comments)

Dashboard for Nyxt - https://news.ycombinator.com/item?id=25151976 - Nov 2020 (2 comments)

Nyxt Browser 2.0.0 Pre-release - https://news.ycombinator.com/item?id=24353927 - Sept 2020 (11 comments)


It used to be called Next Browser, so older posts might call it that.

Ah thanks! Extending backward:

Next browser 1.3.2: Hooks, file manager and clipboard ring - https://news.ycombinator.com/item?id=21023816 - Sept 2019 (1 comment)

Next browser 1.3.0: your Lisp daily driver - https://news.ycombinator.com/item?id=20613661 - Aug 2019 (3 comments)

Next browser – web browser in Common LISP - https://news.ycombinator.com/item?id=20064589 - May 2019 (49 comments)

Show HN: Next Browser native on Linux - https://news.ycombinator.com/item?id=18608454 - Dec 2018 (114 comments)

Next browser campaign: last week of fundraising - https://news.ycombinator.com/item?id=18308031 - Oct 2018 (2 comments)

Next Browser Feedback (Lisp) - https://news.ycombinator.com/item?id=18038967 - Sept 2018 (2 comments)

Next – extensible keyboard-oriented web browser - https://news.ycombinator.com/item?id=16985119 - May 2018 (15 comments)

Show HN: NEXT Browser – A Lisp-based browser - https://news.ycombinator.com/item?id=16108081 - Jan 2018 (3 comments)

nEXT Browser: A nEXT Generation Extensible Lisp Browser – Alpha - https://news.ycombinator.com/item?id=15797548 - Nov 2017 (12 comments)

Show HN: nEXT Browser – A Lisp-based browser - https://news.ycombinator.com/item?id=15418719 - Oct 2017 (44 comments)


Any initiative to make a fast powerful UI is a good one imo.

Some features, like clipboard history and window management (i.e "tabs") are better left to the desktop environment though. Every app shouldn't need to reimplement this logic.


The homepage probably to broaden the audience talks about tabs but as can see in screencasts, in-program, they're called (borrowing from Emacs) buffers. In contrast to tabs, buffers don't belong to a specific window and can switch to one within another window.

Oh, one other thing I just wondered: has there been any progress on interacting with Nyxt from Emacs? I saw something about that at some stage.

Does still need "show multiple pages in the same window" functionality though. If I can segment emacs, I should be able to segment my hacker browser.

It's a great browser, but sadly my 2fa keys don't work with it. Looking forward to the day the underlying engine adds support

I wish it was a GPL compat license, but a common lisp renderer agnostic system has me super curious!

edit: ok this is fast and I like it! eww take a backseat!


>https://directory.fsf.org/wiki/License:BSD-3-Clause

It's compatible.

You have it under Guix too.


I meant more copyleft, not just compat, but you are correct!

So "hacker" is someone who is allergic to using a mouse. We've come a long way from what it used to mean..

> Nyxt differs fundamentally in its philosophy- rather than exposing a set of parameters for customization, Nyxt allows you to customize all functionality. Every single class, method, and function is overwritable and reconfigurable. You'll find that you are able to engineer Nyxt's behavior to suit almost any workflow.

TL;DR There's simply no grounds for rat-molesters to feel so triggered.

No-one is saying "hacker" means someone who is allergic to mouses, it's not what's being said whatsoever. The Nyxt page there unfortunately leans a bit too heavily on the "keyboard" bit, but the fact that that has taken off as a hot take here in this HN discussion is nonetheless an inaccurate reading of the project.

The point being made is that it's a browser for people who want to configure a browser in Common Lisp, i.e., what's sometimes called "power users" (I don't love that term, personally). It's fully FOSS, and the expected audience is people who know their way around terminals, IDEs, Emacs, vim, and so on.

These types of people often learn the available shortcuts in order to get around faster. Not always. However, programmers and tinkerers who like keyboard shortcuts are first-class citizens in Nyxt, is the point. Vim and Emacs keybindings are available out of the box.

However, CUA bindings and mouse-manipulation are also both fully supported. So, there's no issue.


Every time I've tried to use Qutebrowser, or similar -- I end up bouncing from it because I want proper extension support.

What I want is a hacker's bookmark manager, but integrated into my existing browser (Firefox).

I use nyxt browser and a lisp function to send my bookmarks to GitHub issue. my domain https://undecidability.com redirects to it. And the code for it is at https://GitHub.com/irthomasthomas/label-maker (it started as an gh issues ai manager. Bookmarks is just my main use-case for that)

It's a show stopper that there's no macos support (afaiu). Eagerly awaiting that...

out of 215 comments, how many have tried to use the software?

(my #216: it can be hard to figure out how to get around in it because it is all text.)


Pretty sure firefox is the hackers browser

Somebody call jwz, quick

A hacker browser is either:

- an headless big tech engine (blink|webkit|geeko) with AI bots strapped to a virtual mouse and virtual keyboard, probably installed on compromised systems, and remotely controlled.

- a real everyday hacker browser, namely certainly not with a c++ big tech engine (blink|webkit|geeko), but along the line of a simple no-gc computer language which does not require an insane compiler (excluding de-facto c++,java,rust,etc). Ofc, they will have to piggy back the planned obsolescence of Big Tech browsers and shadowy permanent compatibility breaking of Big Tech with their engine (don't forget big tech wants to make you dependent on their own complexity, not anything else).


As long as qutebrowser still works, I'll stay loyal. Designed for vim keys first and foremost + python config is plenty for me.

WebKit backend though, right?

Yes, but they're trying to add a Chrome-based one:

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

They have this repo for Common Lisp bindings to QtWebEngine, but it's been archived:

https://github.com/atlas-engineer/cl-webengine

Seems they're currently trying Electron:

https://github.com/atlas-engineer/cl-electron


Oh, that's disappointing. I want this on Gecko, to support the competition and get away from Firefox's increasingly user-unfriendly UI.

Have you checked out Zen?

https://zen-browser.app/


The comments got me already antagonistic towards the project.

But what I saw was quite nice. I mean I won't switch my default browser but there were some good ideas.


[flagged]


Please don't post snarky dismissals to HN.

You may not owe "deep AI integration" better, but the effect of comments like the one you posted here is toxic on the community regardless of how right you are. For the sake of having a decent community, we ask people not to post like this.

https://news.ycombinator.com/newsguidelines.html


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

> The gist is this: we have a lot of tools built in to our analysis library, pagerank, tf/idf, things like this which we can use to generate summaries, extract, keywords etc. There isn't a giant opaque LLM behind everything. These tools are used in logical ways, for example, when you bookmark something, how should you tag it? Nyxt figures out some likely tag candidates and suggests them to you.


In the spirit of promoting curious conversation, I'll ask: Can you identify the specific feature(s) you don't like?

When someone responds like this, it's not to specific features, but to the general over-saturation of "AI" features because they are trendy, despite the majority of such features being poorly thought out, misleading, poorly integrated, provide serious privacy concerns, don't address concerns about bias or hallucination, etc.

If the marketing copy actually referred to specific features, rather than the "AI" buzzword of the day, people might be less likely to interpret it as a negative signal.


[flagged]


I'm well aware your take is a visceral reaction to the marketing copy in the FAQ (which to be honest, I can't blame you), but that's why I asked the question you didn't answer. :)

I'd just encourage anyone with a knee jerk feeling like this to actually take a peek at what the buzz word actually alludes to. Your heuristic may have a false positive.


Kinda related, but did you know that GitHub refer to itself as "The AI-powered developer platform"? I guess copilot is more important than being a decent forge.

Maybe they just mean Lisp, rather than LLM bullshit.

We've already got Emacs

Emacs isn't a browser though

As a sibling mentions, ewe is pretty decent, but if you want all mod-cons then you can use EAF's browser, or even better use EXWM to embed Firefox (or Librewolf or whatever).

M-x eww

Because AI worked out great for lisp.

Be careful, or you'll summon one of the many locals here who have been very successful in AI and lisp. For example @marklwatson has a number of books on modern "AI" applications in various lisps (I particularly recommend checking out Hy, since it's so easy to move from python).

If you're talking about AI winter, it might be fair to put some blame on the commercial Lisp Machine producers, but I think it's indisputable that the early failures were due to capricious government funding as well as the non-existence of big, cheap GPGPUs.

Lisps existed long before any AI hype, and they'll happily continue long after.


The most important book to learn Common Lisp it's basically about AI.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: