macOS is my favourite operating system. Finder in column view with arrow keys to navigate, combined with space for file preview, is incredibly fast and intuitive. Trackpad integration also results in less hand movement. I'm building a Linux (Bazzite) desktop, though, and I've set my sights on the stars.
nnn looks to be an incredible file manager, and was a great recommendation. It looks even more capable than Finder, albeit without scrolling/zooming previews, thanks to macOS having unmatched trackpad functionality. Not to mention Spotlight, which makes opening apps trivial--especially with Alfred available as well. I want to go beyond mere file management, though.
File managenent, browsing, gaming, everything. Just how much can you configure a Linux system to eliminate mouse usage? Shortcut guides welcome (I already know the major ones). I also have a keen interest in tiling window managers, but I've not delved that deep yet. I don't know how to set one up.
Even better, after your machine boots up, press ctrl+alt+F(3-6) to access TTY sessions and then there is no mouse at all. Plenty of TUI apps work just fine here too.
Unfortunately there is often a use case for mouse that is hardly doable without, such as nondestructive video editing or image editing. I even use the mouse in Vim. Why is there this obsession not to touch the mouse??
To achieve this you will need a tiling window manager like Sway, Hyprland, or i3 and try to use as many CLI-based programs as possible for everything else. For browsers, there are projects like Nyxt (and some others I can't remember) that allow you to use vim or emacs like shortcuts to browse around.
However most GUI apps probably won't support an all-keyboard workflow so you will still need one. Depending on what software you use, however, you could make the vast majority of your regular computing mouse-free
I did mention tiling managers already. Other comment has me interested in NixOS, and I think I'll be changing my plans to account for both. It's a nerdier setup now, RIP Bazzite.
I love Mullvad browser, though. It's a great "peace of mind" browser. I'll stick with it for now, but I will be looking into Nyxt. Might take a while.
I would strongly recommend not to dive into NixOS yet.
It has its benefits and I think it's awesome, but it has a bit of a learning curve and you already have plenty of learning to do with going mouseless and the whole interface stuff. You do not want to deal withbreakages in unstable NixOS, or broken Nvidia drivers in stable.
If Bazzite's immutability is holding you back, just switch to another distro you are familiar with:
Be that Fedora, Ubuntu, Debian, openSUSE, whatever.
Hyprland is the most complete and configurable tiling window manager today, so definitely start with that. You can install it in any Linux distro.
I spent about a year in NixOS, and my main desktop still has it, though mostly out of laziness. I did end up switching back to Arch, mostly because if there's anything you need that isn't in the Nix repos it's a pain to install. The other big issue I had was the lack of documentation, so you'll be figuring a lot of stuff out completely on your own, because Nix works differently enough to everything else that a lot of general Linux resources just don't apply.
If I had a recommendation for switching to nixos, I'd probably say use the Nix package manager on Arch for a while first, and just slowly switch everything to Arch. It'll get you more familiar with everything, and then you can make the switch more easily.
In the Linux world we have this great training routine called broken updates that forces users to regularly rediscover the magic of text mode. If you're lucky enough to run a specialized graphics card you get to experience this almost every update.
We have a similar program for training users how to cope without WiFi.
Lol on nixos I've broken my gui twice so far. Keeping old configurations is nice but I learned the hard way that I should have been keeping copies of my configuration.nix
A lot of people (myself included) like vim keybindings and want them in other programs, and of course using vim keybindings is inherently mouseless.
Off the top of my head, some software I use:
river as my wayland compositor
lf for a file browser
imv for an image viewer
Librewolf with Vimium-C to browse the web
mpd + ncmpcpp for listening to music (you can also use cmus if you don't want to use mpd)
I don't use them, but you can also use something like Mutt, Neomutt, or Aerc for an email client, and use CLI bittorrent clients and password managers.
Yes, exactly, installing additional add-ons for Mullvad browser (except noscript) defeats the purpose. I also find it annoying whenever I have to use Tor Browser or Mullvad Browser because I have to use the mouse.
I use Librewolf for my "normal"/fingerprintable/non-anonymous browsing, but I still try to reduce fingerprintability (don't have too many add-ons installed, RFP is on ofc, I have letterboxing etc).
To be fair, if you want to reduce fingerprintability but still browse the web with just your keyboard, the TUI web browsers could work. Obviously they're pretty uncommon, but I imagine you'd look like any other user of lynx/w3m/etc. So you'd be quite unique but I'm not sure if you'd be distinguishable from other users of the same browser.
XMonad would make that exceptionally easy. If you want to try it, I’d recommend doing it on NixOS and just forking a working config that uses a tiling window manager. This is a great config that I used as the foundation for my own: https://github.com/gvolpe/nix-config
You're right, and it's such a bummer that Waymonad isn't a thing. No other window manager or DE comes close to XMonad for me. i3/Sway are way off, IMO.
Very, I only really use my mouse for playing video games at this point. You don't really NEED to use Emacs/Vim/etc, but they do help a lot. Ranger (file manager), cmus (music player), qutebrowser (web browser, full featured unlike Lynx, which I do still like, but I use eww in place of it most of the time), etc, etc. Tons of stuff that can make your setup far, far less mouse dependent. Starting with learning the terminal, then using a twm is how I got to the point where I am now where all non-necessary mouse functions are replaced by keyboard keys. Just note that it did take about ten years to get here, though that wasn't me actively searching for ways to do it, more just naturally making my computer work how I wanted it to without the specific end-goal of zero mouse usage.
Edit: Forgot to include that I did most of this before learning Emacs at all. I've used nano for most of my time on Linux, only switching to Emacs last August. Only thing I didn't have before that was cmus. It also works as an email client, but ehh... I don't feel a strong need to switch away from Thunderbird at this point in time.
Completely, if you look at tiling window managers.
If you're a gnome user check out PaperWM as well as Search Light (which is like Spotlight or whatever its called on Mac).
And Vim really is that good. I started using it a few years back and I can't imagine using anything else. There's a bunch of Vim alternatives, like Helix or NeoVim if you want to explore.
You can launch steam games from terminal pretty easily.
Browsing can be done with Vimium on Firefox.
Just tackle the times you touch your mouse one issue at a time and you could try putting the mouse in a different room to create a small barrier between you and using it.
I have done a lot to make my environment nearly 100% mouseless. The only exception is gaming. You just need a mouse for most modern gaming.
That said, it requires a large amount of personal customization. If you edit files/code, look into Vim/Neovim. Heck, just learn Vim Key bindings. Sorry, not sorry, it's worth it.
Install vimium in your browser so you don't have to use a mouse nearly at all while browsing the internet. Learn how to use it.
IMHO a tiling window manager is a must if you want to make your setup as keyboard centric as possible. i3 is a good starter. I currently use BSPWM, but there's quite a few to choose from, and they all are roughly the same once you have your keyboard shortcuts in place. Make sure to combine it with an application launcher like dmenu or rofi. If you need a status bar like i3bar, use one (I personally go without).
Get very very familiar with the terminal. You'll know you're down the rabbit hole far enough when you can connect and troubleshoot a WiFi/Ethernet connection without using the mouse. Imho, you don't really need a file manager, though it's nice to have. I do have one on hand just in case, but just a terminal and the good ol' ls command is good enough for me.
Also look into ortholinear keyboards (acronym is OLKB) if you truly want to fly. Pricy investment, but your hands will thank you later, and once you are comfortable with that, the combination of an OLKB with a tiling window manager WILL make you fast.
I became obsessed with foregoing the mouse from 99% of my day to day use of my computer a couple of years ago and it is very very satisfying. Learning curve is high. But IMHO totally worth it.
I have a confession. I was strongly considering making a Colemak or Workman keyboard. If there was ever a best way to do it, it would likely be with an ortholinear keyboard on my intended desktop. Might have to now?
This might be a controversial opinion, but I would stick with the QWERTY layout. There's already a lot of cognitive overhead learning things like tiling window managers and Vim key bindings that I don't think that switching up the keyboard layout is really worth it. What affects typing speed most, imho, is muscle memory, speed of thought, and lastly finger reach. Ortholinear keyboards help a lot with that last aspect, and there's differing opinions on what is best.
I think a good place to start is learning to use the Preionic 60% or the Plank 40%. Keep the QWERTY layout, but memorize how to access symbols (and on the 40% numbers) using the additional layer keys.
You can think of layer keys like extra shift keys near the space bar that change not just to capital letters, but also numbers and symbols, that's why you can get away with significantly less keys on the keyboard, and gain much faster reach of your fingers once you memorize these other layouts.
The order I would go is:
Learn Vim/Vimium on a regular keyboard. Learn how to use the terminal to do as many everyday tasks as you can.
Customize and learn to use a tiling window manager on a regular keyboard.
Buy, build, and learn to use an ortholinear keyboard with the tiling window manager.
After you're comfortable with that, you can consider installing the different layouts like COLEMAK onto your ortho and try that out. But honestly I don't think this last step is necessary. Instead I'd start to look at other ortho keyboards you might like more than the preionic or plank.
I now use the ZSA Voyager. My friend enjoys using a custom ortho with a curved surface for ergonomics. And there are typing devices called DataHands that basically completely upend the way one thinks about typing. Its a whole world. Good luck.
As others have suggested, getting more familiar with the terminal and using a tiling window manager will help a lot. And yeah it's a great idea to learn Vim or other advanced terminal editors. I use Helix+Zellij for development, Vim for system configuration, and i3 or Sway for GUI stuff. Also check out w3m for simple web searches.
If you want to get rid of the mouse entirely, you can also try using a programmable keyboard with mouse support. I don't use a physical mouse anymore because I do most things in the terminal, and when I do need a mouse I just use my keyboard to move the cursor. For super mouse-heavy tasks like image editing it's good to keep one around or use a Wacom tablet
Way back when we didn't have X we just lived in the CLI console, text mode, no bitmap buffer. Then, when X came up you used the rodent to point at xterm windows. If you're used to OS X, wait, MacOS, you're going to try recreating equivalent functionality on Linux, which seems a lot of work. Have you looked into adding a trackpad?
Yes, but keyboard-only is not the "top priority", now that everyone has a mouse, and everyone uses a GUI.
I'm on KDE Plasma. Dolphin is the file manager. F2 to rename. No shortcut to move selected files to a new folder, so I use the arrow keys, and that little key next to right Ctrl that I can guarantee you've never pressed. Eventually, the workflow breaks (when I have to go back to the web browser), if it wasn't already clear that this isn't how Dolphin was designed to be used.
I'm not necessarily trying to outright kill the mouse, but I'd like to keep to a workflow going when I'm using it--hence, why I'd need a fundamentally different setup. If I'm keyboard only for a portion of some task, I'd like to keep to that for other portions, if at all possible. It's just faster and more consistent.
So, I've come for recommendations on software. I've already seen quite a few suggestions that I've never heard of, and I'll be trying a lot of it.
OK, tiling window managers are neat and so are TUIs, but web pages are also supposed to work with keyboard only. On Windows, F6 will jump between different panels in an application - give that a try.
The key you’re talking about is the menu key, by the way.
KDE has a huge amount amount of configurable keyboard shortcuts, even many that are not assigned by default. Check out the keyboard shortcuts settings in each app, and in KDE Plasma Settings app.
For moving selected files in Dolphin (and any other file browser) I've always just used Ctrl+X Ctrl+V.
(Btw sounds like you're talking about the "context menu" button, and it's my personal pet peeve that this button is missing from many modern keyboards and laptops. On older Windows you used to be able to do Shift+F10 to get the context menu , but that doesn't work anymore so my main use for the mouse is right-clicking..)
Lot of great recommendations so far, but I will mention some of my favourites in case they were missed in the other comments: hyprland for a Wayland compositor / window manager, so you can easily set up keybinds for whatever you want, rofi for launching programs (and much more, I even made rofi-games so I can launch all my games from one place), and yazi for the file manager (use a lot of TUIs in general though).
You CAN go more extreme with the no mouse journey by using something like qutebrowser as your browser but I just use Firefox/librewolf with vimium c and find that's good enough for me.
You can go a long way with a touchscreen, but the most annoying thing for me is that in Terminal, using touchscreen selects text instead of scrolling. Other than that, mouse is hardly necessary.