Hey rocx, I second your list. But what advantage do you see on fish over zsh? from my perspective, zsh has better features also who can forget Oh-my-zsh project.
Allow me to chime in. I have used bash, zsh+omz, and fish shells, so would love to share my experience. My most current shell (for over 2years now) is Fish, and I absolutely love it.
fish is lightweight. It is snappy. zsh tends to slow down when you have a lot of plugins enabled.
you may need to install the autocomplete plugin in zsh, but it is baked right into fish. The tab-completion in fish doesn’t just parse through your history and available packages to suggest commands. It also allows you to autocomplete switches for commands, along with a summary of what switch does what (uses the man pages of the command).
[ex: pressing a tab after entering ls - brings up h, A, l, f, O, x as a list with the summaries. Useful when you need hints while executing pip/npm/docker commands or anything else.]
[ex2: pressing a tab after ls /va/li/gi, auto-expands the arg to ls /var/lib/git. Useful when you know where to find what, but dont want to type in a lot]
configuring zsh to your taste takes time (if you dont have the dotfiles), and those dotfiles tend to get large pretty fast when you start copy pasting stuff into them. On the other hand, getting up and running with fish is a breeze. It also has a ‘browser mode’, where you can configure the prompt, theme, aliases and other features using a friendly web-interface.
syntax highlighting is native to fish, and is very fast. I have seen zsh slow down or take time to process what’s written, but fish highlights it almost instantly.
error messages in fish are also more detailed or helpful, rather than in zsh, IMHO.
a lot of things in fish are configured using functions, which you can define and save separately. no need to have everything in one long file.
you can set and unset env variables temporarily or permanently, depending on your use-case.
zsh extends bash. fish is entirely different.
the scripting language in fish may not be entirely POSIX compliant (one tradeoff you have to make for speed), but the scripts are neater and cleaner. (think python vs C++). Neater organized code.
To summarize: fish is definitely lighter, and faster than zsh or bash. It is different, but what you get is time-saved because tweaking and configuring fish as per your taste isn’t a hassle. The few packages you may ever require, can be fetched using the “oh-my-fish” framework.
To give fish a spin, just do a pacman/brew install fish. Ubuntu requires you to add their ppa, which you can find from https://fishshell.com.
fish does by default what zsh requires you to configure. As the design document kind of bluntly puts it,
Every configuration option in a program is a place where the program is too stupid to figure out for itself what the user really wants, and should be considered a failure of both the program and the programmer who implemented it.
Kneejerk reaction to Ubuntu moseying on towards systemd for its init. Kind of silly, looking back. Why I stick with it now is because of its automated installer compared to Arch and its decent performance (<1min from cold boot to password entry to XFCE).
MATE as my desktop environment. Even though I full screen most things, I find MATE most pleasant to work with. afaik there isn’t much of a performance difference to my second choice, XFCE.
Debian (Buster), and everything that entails. Most things are still set to their defaults, since it works well.
Noteworthy mentions would be nvi/vis for small terminal edits, pandoc for document conversion (really nice tool, check it out), ffmpeg – the pandoc for audio and video, Quod Libet for music, radio and podcasts, mpv(+youtube-dl) for watching videos, GIMP which stands for “Green is my Pepper” and Syncthing to synchronise files with other devices.
It’s quite comfortable, not only because of the multiple cursors/sed-selection stuff, but because it’s really good with large files thanks to mmap. But otherwise, it’s just like regular vi. Since I never really got used to vim, except for stuff like ya(, di{, I don’t miss much from that front. Haven’t really worked with it on larger projects. Configuring it can be hard, because the documentation isn’t that specific about it, but besides adding my own theme (makes it look more like nvi), I haven’t had to change anything really.
If you’re using a Debian derivative, you can easily install it from the standard repositories, so it’s easy to try out.
Cool! I usually use vim like vi anyway, so it’s no big deal that it lacks vim-specific features. I should definitely try it out soon. It’s been on my radar for a while. Thanks for the info.
Thinkpad X260, a NUC, and a cloud server from vultr. There are other systems that get netbooted at times, too. And a couple of older thinkpads that I don’t really use much any more.
I’m on Slackware Linux, though I have so heavily customized it you will probably only recognize a handful of the programs:
Firefox
vim
mpv (with a custom playlist manager)
mutt (with custom html email translator)
a customized version of the Blackbox window manager with custom taskbar
custom terminal emulator
custom terminal multiplexer / session grouper (like gnu screen)
custom slack client, irc client, code search command, and various other little things
I was a KDE user until about 2007 when I tried sloppy focus and actually really liked it… then just went to a more minimal window manager and switched from konqueror to firefox and from there just went nuts writing new stuff for myself.
I also have some qemu VMs and a Windows laptop for some purposes, but for the most part I use my custom terminal emulator on Windows too :)
The biggest thing is that it uses somewhere between 10% and 1% of the RAM that Slack’s own garbage desktop client does, while also having massively reduced interface latency.
Side benefits include a UI I find far preferable and which is easily customizable; logging; and generally having the ability to mitigate Slack’s detriments.
Teach me Master, how did you manage to get there, ’cause I tried hard and failed. Slack abandoned the IRC way and they claimed about weechat. I failed many times, and I got to think their claims were void…
I’ve used matterircd a while ago. It’s not a 100% slack replacement, but it was better than running the slack client for a slack with 2 messages a day.
Which is what I did exactly, then I’m asked to an authorization to install this application on our organization in slack, but even the leverage of an admin didn’t allow me to get rid of the damn GUI client.
It has fully custom filters and notification methods, also combining multiple workspaces into one place. Also uses < 2 MB of RAM at startup and virtually zero cpu, which is nice, but the main impetus I had writing it was to tame the notifications. (I don’t like the “desktop notifications” system at all, but also I want all messages in some channels, except bots, and nothing in others unless it mentions a couple keywords or if I replied recently and that just meant my own code.) Another nice benefit is I flattened the stupid threaded conversations nonsense to make them usable.
There was a lot of pain due to folks upgrading early to VS 2017, so I’m curious how this is working out for you.
We haven’t transitioned the compiler yet, so we still generate VS 2015 projects. Other than that the IDE is snappier, opens much faster and is generally nice.
Oh and BTW for Visual Studio user, I strongly recommend the Fast Find extension which has an excellent fuzzy finder that can deal with huge solutions. For around 15$, it is really worth the price.
It’s been a some years since I’ve done it, but I basically followed the OpenBSD/octeon guide which supported the EdgeRouter Lite at that moment.
Since the main drive is a USB flash, I remember setting noatime,softdep on the mount point in my fstab tab to minimize the amount of writes. I has being going strong since then, with the base install providing everything I would want for a router (even games ;)
What’s the color scheme you use for NeoVim? I have my font size a bit bigger with the color scheme I use now (different editor, but still), but it seems perfectly legible in your screenshot.
neovim-qt has a significantly lower input latency compared to running NeoVim in a terminal. I no longer have the data sadly, but most terminals (including GPU ones like Kitty and Alacritty) had something like 2-3 times the input latency. The worst are libvte terminals, which for me had a latency of around 80-90 ms. neovim-qt in turned hovered somewhere between 10 and 20 ms.
If you do personal programming projects, do you use the iPad for that too? That certainly seems plausible with some of the good SSH apps and iSH, but I tried this summer and couldn’t get comfortable. My mentality as the Emacs and Unix user is to customize everything humanely possible, and that wasn’t going to happen on iOS.
Other chat protocols are handled by bitlbee (including twitter). My work and home setups are mostly the same, but at work I use weechat and wee-slack since we use slack (ugh) and I have chromium around to deal with hangouts for work reasons.
After that just a smattering of the usual suspects like various interpreted languages languages (mostly perl), compilers, ssh, mpv, and other things that I touch less frequently.
I use Arch Linux both at home and at work, although I’ve been tempted to switch to something slightly more stable and without rolling releases.
I use i3 for my window manager, since it has effectively ruined me for other WMs. Keyboard is king.
My editor is Vim, in the terminal.
My terminal is Alacritty.
My shell is fish
My browser is Firefox with the “vimium” vim keybind extension
Geary for email, but I’m looking to switch (suggestions welcome)
In the terminal, I use tmux and use it to handle terminal sessions. tmux attach is very helpful for when I want to SSH in to my work machine from home and do work there.
Weechat for exactly one IRC server and channel (@dsh, you here?)
find and ripgrep in the terminal for finding stuff
Nextcloud for cloud storage
tokei to count lines of code (very, very fast compared to cloc)
I’m quite content with Fastmail’s web interface. I don’t like to have my email client always open anyway, because it can break new out of flow. What’s making you want to switch from Geary btw?
Geary’s interface feels like it doesn’t update consistently. For example, I’ll see that I have 2 unread messages, but the actual view of my inbox won’t show that unless I manually switch from one mailbox folder to another (e.g. inbox -> drafts -> inbox). Doing some cursory searches shows that this may have been fixed earlier this year so I’ll have to see if I can get an update for my distro.
Additionally, I really wish Geary had a “read all” button. It was suggested about a year ago, but it’s still an open issue. Maybe it’s time for me to learn Vala and make that contribution.
At home I have a desktop with Arch Linux, i3, rofi, and xfce (I use the xfce bar and terminal). At work I use a laptop with Windows 10. It has visual studio on it (I used to use it daily, but nowadays I only use it sometimes for the excellent debugger). I login to a machine running Ubuntu 14.04 with xrdp. I often use chromium, gcc, python, bash, and vim.
Fedora Silverblue, Gnome Terminal (although I’ll probably be switching to Tilix to make better use of bigger screens), Firefox, and vim.
I would like to go back to using acme, but it doesn’t work correctly in XWayland and I haven’t yet bothered to try to port devdraw to Wayland. I assume that’ll be a giant pain and not work correctly.
Well I try to avoid Electron based app as much as possible, but sadly popular tools are written in Electron only. i.e. Slack, VS Code, PostMan, Spotify, Standard Notes, etc etc
But here is my list of softwares which I use on daily basis:
On Desktop: Mac OS
Firefox (I use 4-5 instances of Firefox, I don’t use chrome)
iTerm + Zsh + Oh-my-zsh
Docker
WebStrom
PyCharm
Sublime
VS Code
TextMate
Zoom
Standard Notes (I highly recommend this one, If anyone knows native client?)
mosh as ssh wrapper for maintaining ssh connection even if we change the network
autossh for maintaining persistent tunnel
sshuttle allows you to create a VPN connection from your machine to any remote server that you can connect to via ssh: https://github.com/sshuttle/sshuttle
Laptop: Windows 10, Firefox, Outlook, PuTTY, OneNote, Visual Studio
On remote systems, I try to stay close to defaults for the OS (which could be anything) as possible; the exception is if the defaults are truly repugnant (like say, original Bourne shell). I actually can use vanilla vi just fine.
I had a couple of issues with my setup recently, so this doesn’t reflect my fully normal workflow.
I’m on Lubuntu at the moment, using the GNU Guix package manager. I’m using Gnome, with pretty much everything disabled (plugin system, animations, etc). I downloaded the Lubuntu ISO using Transmission, monitored via transmission.el.
My browser is Luakit. I access Mastodon via the Pinafore web client. Frequent sites are https://wttr.in, amazon, my education portal, Wikipedia (I binge-read for fun), and my search engine of choice, https://lite.qwant.com/ .
I’m using Emacs, configured, but mostly using stock stuff. I am however using evil (and evil-collection), mu4e, magit, yasnippet, and projectile, organised with use-package. I don’t use a completion system like ivy. I also don’t use package.el, rather install my packages through guix. I run emacs in the terminal version, either through gnome terminal or more frequently in tty2 - I’ve set the colour scheme to solarized light. I take notes in org mode and play music via emms (ogg123 backend), which was organised with beets. I regularly make use of the RPN M-x calc for quick calculations and conversions.
I manage my passwords with pass. Currently my shell is bash, although I mostly use eshell or emacs for that kind of stuff. I mostly use the default shell programs which are on my computer (grep, cat, and so on) rather than new versions written in rust or something because my computer can’t cope with compiling rust very well (last I checked anyway), and I prefer to be able to compile my stack if I choose to, even if I usually don’t.
For email, I use mailbox.org with a custom email address, mbsync and msmtp to send and receive it, mu to organise it, and mu4e as mentioned above to read it.
In terms of programming languages, I use Lua (or fennel), C, and Scheme (guile or chicken), depending on what I’m doing. I’m not a programmer by trade so don’t stick to a specific language, I like to play with multiple. Currently I’m messing with Racket and Ocaml the most.
Reasonably sure that’s everything. I’ve tried to keep it all kind of organised into categories. Thanks for the good question!
I would like to not use firefox eventually. The web is too bloated. I should be able to view all websites reasonably in lynx. For everything else I should be using my own clients that talk to websites’ API.
I should eventually replace tmux with dvtm and dtach.
I should replace vim eventually with an editor written specifically for me.
I should use dash instead of bash or something simpler.
find -> fd
grep -> ripgrep
curl and jq will not be replaceable.
weechat is amazing in every which way. It’s truly a futuristic chat client.
top works just as good as htop when you know how to use it.
i3 & i3lock will never be replaced until we are all on wayland - then it’ll be sway or whatever it is.
alacritty is good, could be replaced with st, but not a big deal which terminal emulator I use, as long as it supports all of vim’s features.
mpv/youtube-dl is not replaceable either.
newsbeuter is great for rss feeds, something I’ve only recently discovered the power of.
gpg may be replaced eventually depending on the ecosystem.
cal -3 is a great little utility to quickly look at dates.
node is basically not replaceable; it’s a useful repl to quickly test bugs and js language features.
A distro that includes these by default would be extremely useful. My goal is to have a toolbox I totally understand and could modify if need be.
Actually a userland written completely in one language would be awesome. Maybe one day I’ll just write my own little language and implement all the above in a simple form.
In a random order: FreeBSD 12, i3wm, Firefox, Signal Desktop, Cryptomator, Keepass, Telegram, Spotify, VS Code, Libreoffice, Krita, git, bash, Remmina, Nextcloud, my favorite terminal of the moment.
I recently got back into .NET work. I am a recovering Mac user (I see the platform as dying, and 3 keyboard replacements made me mad). I don’t like FAANG.
Windows 10, Visual Studio 2019, SQL Server Management Studio 2017.
WSL, Git.
Vim, Notepad++.
GIMP.
ProtonVPN.
Firefox with Containers, Privacy Badger, uBlock, and LastPass.
Thunderbird.
Riot, Signal Desktop, Discord.
Foobar2000.
For music work, REAPER, Audacity, MuseScore.
This is actually way more useful than you’d think at first glance. It has a lightweight UI toolkit for building interactive queries that is a very easy way to build up ad-hoc UIs. It’s as about easy to get up and going with as TCL/Tk, and has the full power of .NET available to it. The only downside is I don’t know of a way to distribute the resulting UIs outside of the LinqPad.
Gills I keep track of what I’m doing here, and use it to build up knowledge over time, and as a place to put stuff I don’t want to think about for now.
Gills
That’s where I take notes, where I’ve created a bunch of small pages for things like an RPN calculator, or a small webpage that lists out the various webcomics I keep up with. I’m also experimenting with using it to build out my blog posts over time.
WhatsApp. My wife and I use a few chatrooms to track some of our lists there.
I use both macOS and Arch Linux on a regular basis, with macOS being used mostly for work, arch for side-projects/open source. I spend the huge majority of my time in the terminal or the web browser and I’m not a gamer, I use very little other “apps”.
For mac:
chrome, iterm, bash 5, vim + spacevim, keepassxc, slack
For arch:
firefox, kitty, bash 5, vim + spacevim, i3-gaps, keepassxc
Of course, git, Go and a number of other command-line tools/utilities/databases/programming languages.
Probably pretty boring stuff for a developer who uses several languages and ecosystems
Debian if I can, Ubuntu if I have to, Windows in anger (Ubuntu 18.04 + regolith right now)
a tiling WM, usually i3, some old machines have xmonad, awesome year ago
any editor with vim keybindings. Right now QtCreator, often IntelliJ, rarely pure vim
VS Code if I need to do typescript or python or bash once in a while
an additional editor for notes. textadept, gvim, Notepad++, or Notepad2
I prefer terminator for mouse-resizing, but any terminal is fine
Firefox for private stuff, Chrome at work
zsh, but bash is ok
fonts: whatever I feel like, often the defaults
The only thing I’m really finicky about is what apps are on what virtual screen, I wrote about it here: https://f5n.org/blog/2019/desktop-environments/ - this is just a habit and lets me context-switch very quickly without alt-tabbing 10 times.
OS: Debian 10. I just switched from Ubuntu 18.04 and I’m not super convinced I’m going to stick. I also tried NixOS, which I admit was awesome, but I couldn’t get my printer setup so I had to abandon it.
Editor: NeoVim
DE: Gnome
Browser: Firefox
Shell: Gnome shell. I have used Tilix before, but honestly I can’t tell the difference.
a custom personal information manager written in Common Lisp that stays permanently attached to a SLIME session in Emacs (I alternate between using the tool and adding features or fixing bugs in the same session)
My primary dev machine runs a fairly close to vanilla Fedora Workstation. Clean and boring all the way. I’ve bounced around many distros and DEs but I keep coming back to the workspace-centric flow of GNOME. And I just plain like the look and feel.
GNOME Extensions: gTile, Caffiene, Clipboard Indicator, Drop Down Terminal, Emoji Selector, Dash to Dock, Screenshot Tool, Sound Input & Output Device Chooser
Mail/PIM: Evolution. It’s overkill for me, but it’s been the most reliable way to access my (Fastmail) CalDAV/CardDAV
Notes/Tasks: GNOME To Do & GNOME Notes most of the time. QOwnNotes if I’m writing up something particularly lengthy. All 3 are synced to my personal Nextcloud.
Music: Lollypop for local library, Pithos for Pandora streaming
Software I currently use weekdaily: arch linux (systemd, pacman) or void linux (runit, xbps), dwm, compton, bash, urxvt, vim, mpv, mutt, offlineimap, sxiv, sxhkd, dmenu, glances, weechat, syncthing, firefox (ublock origin, vimium), keepassxc, tmux, ssh, git, git annex, redshift, xbanish, xtrlock, mupdf, newsboat, bitlbee-libpurple (skype in weechat, please), magic wormhole (not-daily, but I want to mention it), standard unix commands. I currently favour the dina font.
Oh and “daily”, but only during the holiday season, I run xsnow.
on Android phone: Firefox, F-Droid, Simple Calendar, Google maps, Maps.me, OSMAnd, Signal, WhatsApp, Keybase, SlimSocial, EZ Folder Player Free, andOTP, Duolingo (was trying to learn some Chinese), Open Flood (game), Pixel Dungeon (game), Bubble, Disk Usage & Storage Analyzer
Emacs is my primary time sink. I use nixpkgs to install cli tools that my sprawling literate config depends on. I use Eshell as my primary shell, Magit as my primary git interface, Notmuch for (personal) mail, and elfeed for RSS.
Firefox is my main browser
Nixpkgs to install stuff that my Emacs setup depends on depends on
Fantastical 2 for calendaring / reminders
Alfred 4 lets me launch apps and open URLs and automate simple workflows
1Password is a recent-ish addition to help with security
Pocket manages my web-based to-read pile
On my personal machine I additionally use:
WhatsApp for staying in touch with friends
On my Work machine I additionally use:
Mail.app for email (because I’m a new starter and haven’t figured out who or how to ask for permission to create an app-specific password for IMAP/SMTP access yet)
Docker for Mac
Homebrew to install some cli tools used for work. (Since it’s easier to ask for help if I install these tools the same way everyone else does.)
Your standard iOS development setup: macOS, Xcode, Terminal.app (using Fish as the shell.) Lots of other standard macOS and iOS apps too: Safari, Mail, Messages, iTunes/Music, Calendar, Reminders, Notes.
Git: Fork
Documentation: Dash
For non-iOS development needs: Visual Studio Code, and Vim for quick editing tasks in the shell.
Notes (I use some kind of very fuzzy logic to split between this and Apple’s Notes): Bear
Calculator: Soulver
Twitter: Tweetbot
Password management: 1Password
RSS reader: Reeder
Todo lists: OmniFocus
Work related: Slack for chat, Basecamp for project management, Clockify for time tracking, Figma and Zeplin for working with designers
Choosy. It allows you to define rules and select correct browser. Like if there’s “atlassian.net” somewhere in the domain - i want it to be opened in Firefox, because that’s either jira or confluence. Same thing with project URLs
Enpass as password/secrets storage
Emacs
Mail.app
Notion
Dash for documentation
Drafts for quick notes
Things 3
Telegram
Item2
Fantastical 2
Bartender (allows you to hide all those apps from top right region)
Both Google Drive and Dropbox
Monosnap for screenshots
Itunes (apple music)
As for ios:
Google Maps
Voice Dream (allows you to convert text into speach)
Youtube
Notion
Overcase (podcast manager, which to my opinion has perfect silence trimmer, voice booster and handling speedup)
Apple music
Narwhal (reddit client)
Drafts
FileExplorer (i’ve made “NAS” from raspberry and some old 1tb hdd, and this app allows you to access samba share)
rg.el
Are you using Void with musl or glibc? I heard that Emacs support under musl isn’t that great, so if you’re using that, could you comment on it?
The GLibC edition. It Just Werks.™
hi rocky rock
lookin good
Hey rocx, I second your list. But what advantage do you see on
fish
overzsh
? from my perspective, zsh has better features also who can forgetOh-my-zsh
project.🤷♂️
Made the decision with a dartboard. Mainly using a stock Fish setup. The ability to
C-e
to finish an autocompletion from history is nifty.Allow me to chime in. I have used bash, zsh+omz, and fish shells, so would love to share my experience. My most current shell (for over 2years now) is Fish, and I absolutely love it.
fish is lightweight. It is snappy. zsh tends to slow down when you have a lot of plugins enabled.
you may need to install the autocomplete plugin in zsh, but it is baked right into fish. The tab-completion in fish doesn’t just parse through your history and available packages to suggest commands. It also allows you to autocomplete switches for commands, along with a summary of what switch does what (uses the man pages of the command).
ls -
brings uph, A, l, f, O, x
as a list with the summaries. Useful when you need hints while executing pip/npm/docker commands or anything else.]ls /va/li/gi
, auto-expands the arg tols /var/lib/git
. Useful when you know where to find what, but dont want to type in a lot]configuring zsh to your taste takes time (if you dont have the dotfiles), and those dotfiles tend to get large pretty fast when you start copy pasting stuff into them. On the other hand, getting up and running with fish is a breeze. It also has a ‘browser mode’, where you can configure the prompt, theme, aliases and other features using a friendly web-interface.
syntax highlighting is native to fish, and is very fast. I have seen zsh slow down or take time to process what’s written, but fish highlights it almost instantly.
a lot of things in fish are configured using functions, which you can define and save separately. no need to have everything in one long file.
you can set and unset env variables temporarily or permanently, depending on your use-case.
zsh extends bash. fish is entirely different.
the scripting language in fish may not be entirely POSIX compliant (one tradeoff you have to make for speed), but the scripts are neater and cleaner. (think python vs C++). Neater organized code.
To summarize:
fish
is definitely lighter, and faster thanzsh
orbash
. It is different, but what you get is time-saved because tweaking and configuring fish as per your taste isn’t a hassle. The few packages you may ever require, can be fetched using the “oh-my-fish” framework.To give fish a spin, just do a pacman/brew install fish. Ubuntu requires you to add their ppa, which you can find from https://fishshell.com.
fish does by default what zsh requires you to configure. As the design document kind of bluntly puts it,
Behold! https://github.com/oh-my-fish/oh-my-fish
Audacious is so great. Simple and lightweight.
Looks nice and productive.
i will never be able to keep the same distro as long as you do rocx
Void looks interesting. What made you choose that distro?
Another happy void-user here. In my case, the package manager (xbps) and runit.
Kneejerk reaction to Ubuntu moseying on towards
systemd
for its init. Kind of silly, looking back. Why I stick with it now is because of its automated installer compared to Arch and its decent performance (<1min from cold boot to password entry to XFCE).Noteworthy mentions would be nvi/vis for small terminal edits, pandoc for document conversion (really nice tool, check it out), ffmpeg – the pandoc for audio and video, Quod Libet for music, radio and podcasts, mpv(+youtube-dl) for watching videos, GIMP which stands for “Green is my Pepper” and Syncthing to synchronise files with other devices.
How do you like vis? I’ve been meaning to try it out but haven’t gotten around to it yet.
It’s quite comfortable, not only because of the multiple cursors/sed-selection stuff, but because it’s really good with large files thanks to
mmap
. But otherwise, it’s just like regular vi. Since I never really got used to vim, except for stuff likeya(
,di{
, I don’t miss much from that front. Haven’t really worked with it on larger projects. Configuring it can be hard, because the documentation isn’t that specific about it, but besides adding my own theme (makes it look more like nvi), I haven’t had to change anything really.If you’re using a Debian derivative, you can easily install it from the standard repositories, so it’s easy to try out.
Cool! I usually use vim like vi anyway, so it’s no big deal that it lacks vim-specific features. I should definitely try it out soon. It’s been on my radar for a while. Thanks for the info.
what’s wrong with acme? :-)
What do you use sam for? I tried it a few times, but I never really understood it’s strengths, besides being an ed with a visual mode.
Editing text, mostly. I just don’t like acme much. (Also, since I can’t edit the parent post: ‘at’ is a typo, should read ‘st’)
There exists a vim port for plan 9.
https://vmsplice.net/9vim.html
Vim on Plan 9? That’s no fun. :)
What hardware do you run 9front on?
Thinkpad X260, a NUC, and a cloud server from vultr. There are other systems that get netbooted at times, too. And a couple of older thinkpads that I don’t really use much any more.
I used to run 9front in a Vultr VPS. It’s so nice that they let you upload your own ISOs; I wish more hosts allowed that.
I can’t believe your’e the only one (so far) to mention cmus for music. It’s so lightweight and versatile. And you don’t have to use a mouse.
I’m on Slackware Linux, though I have so heavily customized it you will probably only recognize a handful of the programs:
I was a KDE user until about 2007 when I tried sloppy focus and actually really liked it… then just went to a more minimal window manager and switched from konqueror to firefox and from there just went nuts writing new stuff for myself.
I also have some qemu VMs and a Windows laptop for some purposes, but for the most part I use my custom terminal emulator on Windows too :)
What does your custom slack client do differently than the standard web interface or standard electron client?
I use wee-slack for slack.
The biggest thing is that it uses somewhere between 10% and 1% of the RAM that Slack’s own garbage desktop client does, while also having massively reduced interface latency.
Side benefits include a UI I find far preferable and which is easily customizable; logging; and generally having the ability to mitigate Slack’s detriments.
Teach me Master, how did you manage to get there, ’cause I tried hard and failed. Slack abandoned the IRC way and they claimed about weechat. I failed many times, and I got to think their claims were void…
https://github.com/wee-slack/wee-slack
I found it quite plug-and-play. Note your slack org does need to allow apps (or whitelist wee-slack in particular).
I’ve used matterircd a while ago. It’s not a 100% slack replacement, but it was better than running the slack client for a slack with 2 messages a day.
Which is what I did exactly, then I’m asked to an authorization to install this application on our organization in slack, but even the leverage of an admin didn’t allow me to get rid of the damn GUI client.
I’ll try again (and ask admin again)
It has fully custom filters and notification methods, also combining multiple workspaces into one place. Also uses < 2 MB of RAM at startup and virtually zero cpu, which is nice, but the main impetus I had writing it was to tame the notifications. (I don’t like the “desktop notifications” system at all, but also I want all messages in some channels, except bots, and nothing in others unless it mentions a couple keywords or if I replied recently and that just meant my own code.) Another nice benefit is I flattened the stupid threaded conversations nonsense to make them usable.
It basically more resembles an IRC interface.
OK, this is going to stand out from the rest of the crowd.
Extras @home
There was a lot of pain due to folks upgrading early to VS 2017, so I’m curious how this is working out for you.
LOL, we’re all just trying to get a decent terminal on WIndows. I initially tried Cygwin, but now I’m over on WSL.
We haven’t transitioned the compiler yet, so we still generate VS 2015 projects. Other than that the IDE is snappier, opens much faster and is generally nice.
Oh and BTW for Visual Studio user, I strongly recommend the Fast Find extension which has an excellent fuzzy finder that can deal with huge solutions. For around 15$, it is really worth the price.
How did you get OpenBSD on the edgerouter? I have an ER4.
It’s been a some years since I’ve done it, but I basically followed the OpenBSD/octeon guide which supported the EdgeRouter Lite at that moment.
Since the main drive is a USB flash, I remember setting noatime,softdep on the mount point in my fstab tab to minimize the amount of writes. I has being going strong since then, with the base install providing everything I would want for a router (even games ;)
Things I use and want to use
Things I use and don’t want to use
This is what my desktop looks like:
http://downloads.yorickpeterse.com/desktop.png
This is my NeoVim setup, which I run in full screen most of the time.:
http://downloads.yorickpeterse.com/nvim.png
that is a really neat font, love it! could you please tell me which one it is?
The font I use for NeoVim is Source Code Pro, the desktop font is Noto Sans Regular.
sweet! thanks a lot :)
What’s the color scheme you use for NeoVim? I have my font size a bit bigger with the color scheme I use now (different editor, but still), but it seems perfectly legible in your screenshot.
I use my own color scheme: https://gitlab.com/yorickpeterse/happy_hacking.vim (mirror: https://github.com/yorickpeterse/happy_hacking.vim).
Any particular reason for prefering that to nvim in a terminal?
neovim-qt has a significantly lower input latency compared to running NeoVim in a terminal. I no longer have the data sadly, but most terminals (including GPU ones like Kitty and Alacritty) had something like 2-3 times the input latency. The worst are libvte terminals, which for me had a latency of around 80-90 ms. neovim-qt in turned hovered somewhere between 10 and 20 ms.
Ah. I use a low latency terminal and DE, so I would probably not benefit much. xterm has 2ms latency (90%). https://lwn.net/Articles/751763/
Parabola Arch/Linux, LXDE, KeepassXC, Emacs, bash, python, IceCat and Tor browser are the main ones.
Work:
Personal:
If you do personal programming projects, do you use the iPad for that too? That certainly seems plausible with some of the good SSH apps and iSH, but I tried this summer and couldn’t get comfortable. My mentality as the Emacs and Unix user is to customize everything humanely possible, and that wasn’t going to happen on iOS.
I don’t do any personal programming projects anymore. I still own a MacBook Pro that I almost never use.
My setup is fairly “riced”, you can take a look at my dotfiles, if you’re into that sort of thing.
Other chat protocols are handled by bitlbee (including twitter). My work and home setups are mostly the same, but at work I use weechat and wee-slack since we use slack (ugh) and I have chromium around to deal with hangouts for work reasons.
After that just a smattering of the usual suspects like various interpreted languages languages (mostly perl), compilers, ssh, mpv, and other things that I touch less frequently.
fish
tmux attach
is very helpful for when I want to SSH in to my work machine from home and do work there.find
and ripgrep in the terminal for finding stufftokei
to count lines of code (very, very fast compared tocloc
)take a look at https://github.com/sharkdp/fd instead of
find
. it’s nicer (likeripgrep
), with gitignore support, colors by default, etc…I’m quite content with Fastmail’s web interface. I don’t like to have my email client always open anyway, because it can break new out of flow. What’s making you want to switch from Geary btw?
Geary’s interface feels like it doesn’t update consistently. For example, I’ll see that I have 2 unread messages, but the actual view of my inbox won’t show that unless I manually switch from one mailbox folder to another (e.g. inbox -> drafts -> inbox). Doing some cursory searches shows that this may have been fixed earlier this year so I’ll have to see if I can get an update for my distro.
Additionally, I really wish Geary had a “read all” button. It was suggested about a year ago, but it’s still an open issue. Maybe it’s time for me to learn Vala and make that contribution.
I try to keep it simple and clean: nixos, i3, bash, vim, xterm, Firefox.
Pop_OS 19.04:
OS: Ubuntu
Desktop: i3
Shell: Bash
Editor: Sublime/Vim
IDE: VSCode
Browser: Chromium
Music/Video: VLC
At home I have a desktop with Arch Linux, i3, rofi, and xfce (I use the xfce bar and terminal). At work I use a laptop with Windows 10. It has visual studio on it (I used to use it daily, but nowadays I only use it sometimes for the excellent debugger). I login to a machine running Ubuntu 14.04 with xrdp. I often use chromium, gcc, python, bash, and vim.
An attempt at clustering things a bit.
I know I use these all the time. There might be more. I’m not even counting the web apps I have to use.
I loved cwm for a time. Until I was defeated by laziness and now just run vanilla/stock everything.
Web-based software I use daily:
I was previously unaware of keepassxc. Been needing a solution I like and this ticks my boxes. Thanks!
Graph Galaxy - a WYSIWYG editor for Graphviz.
Arch + sway + kitty + fish
neovim, firefox-nightly
Slackware (current), Emacs, AwesomeWM, xterm, Firefox (Developer), Nextcloud, Ruby, Typescript
Work communication is HipChat and Google Meet.
this is 90% of my tech usage
Fedora Silverblue, Gnome Terminal (although I’ll probably be switching to Tilix to make better use of bigger screens), Firefox, and vim.
I would like to go back to using acme, but it doesn’t work correctly in XWayland and I haven’t yet bothered to try to port devdraw to Wayland. I assume that’ll be a giant pain and not work correctly.
My dev environment is version controlled: https://github.com/bitemyapp/dotfiles
Well I try to avoid Electron based app as much as possible, but sadly popular tools are written in Electron only. i.e. Slack, VS Code, PostMan, Spotify, Standard Notes, etc etc
But here is my list of softwares which I use on daily basis:
On Desktop: Mac OS
On Terminal: I have some tool configured
vim-airline, fzf
etcfzf
tool for fuzzy searching, also I have configured this one to triggere on Ctrl+R: https://github.com/junegunn/fzfag
the silver searcher, the fastest available grep alternative: https://github.com/ggreer/the_silver_searcherlsd
instead ofls
: https://github.com/Peltoche/lsdranger
for command line file managerasdf
as single version manager for most programming language: https://github.com/asdf-vm/asdfmosh
asssh
wrapper for maintaining ssh connection even if we change the networkautossh
for maintaining persistent tunnelsshuttle
allows you to create a VPN connection from your machine to any remote server that you can connect to via ssh: https://github.com/sshuttle/sshuttletldr
: https://github.com/tldr-pages/tldr.zshrc
Desktop: Fedora, Gnome Shell, Firefox, Evolution, Gnome Terminal, gedit, Audacious
Laptop: Windows 10, Firefox, Outlook, PuTTY, OneNote, Visual Studio
On remote systems, I try to stay close to defaults for the OS (which could be anything) as possible; the exception is if the defaults are truly repugnant (like say, original Bourne shell). I actually can use vanilla vi just fine.
Ubuntu LTS (default desktop), Chrome, XTerm, Bash, Tmux, Vim, OpenSSH, GEdit, Flameshot, Slack, Zoom
I had a couple of issues with my setup recently, so this doesn’t reflect my fully normal workflow.
I’m on Lubuntu at the moment, using the GNU Guix package manager. I’m using Gnome, with pretty much everything disabled (plugin system, animations, etc). I downloaded the Lubuntu ISO using Transmission, monitored via transmission.el.
My browser is Luakit. I access Mastodon via the Pinafore web client. Frequent sites are https://wttr.in, amazon, my education portal, Wikipedia (I binge-read for fun), and my search engine of choice, https://lite.qwant.com/ .
I’m using Emacs, configured, but mostly using stock stuff. I am however using evil (and evil-collection), mu4e, magit, yasnippet, and projectile, organised with use-package. I don’t use a completion system like ivy. I also don’t use package.el, rather install my packages through guix. I run emacs in the terminal version, either through gnome terminal or more frequently in tty2 - I’ve set the colour scheme to solarized light. I take notes in org mode and play music via emms (ogg123 backend), which was organised with beets. I regularly make use of the RPN
M-x calc
for quick calculations and conversions.I manage my passwords with pass. Currently my shell is bash, although I mostly use eshell or emacs for that kind of stuff. I mostly use the default shell programs which are on my computer (grep, cat, and so on) rather than new versions written in rust or something because my computer can’t cope with compiling rust very well (last I checked anyway), and I prefer to be able to compile my stack if I choose to, even if I usually don’t.
For email, I use mailbox.org with a custom email address, mbsync and msmtp to send and receive it, mu to organise it, and mu4e as mentioned above to read it.
In terms of programming languages, I use Lua (or fennel), C, and Scheme (guile or chicken), depending on what I’m doing. I’m not a programmer by trade so don’t stick to a specific language, I like to play with multiple. Currently I’m messing with Racket and Ocaml the most.
Reasonably sure that’s everything. I’ve tried to keep it all kind of organised into categories. Thanks for the good question!
I use A LOT of tools, majority of which daily or every few days. I am mostly on Windows 10 today for all needs.
Those are almost always cross platform FOSS tools:
OS specific (I tend to avoid OS lock-in except when tools are epic):
Online services:
Browser plugins:
OS: Fedora (work), Ubuntu(home) Editor: Emacs (helm + many more!) Term: Konsole->alacritty + Fish, rg, fd, DE: Gnome (cinnamon wouldn’t play nice with sleeping on laptop lid closing), Workspace Grid (4x4 workspaces) Email: Thunderbird (ew)
I use debian stretch - haven’t had the reason to upgrade.
i3, i3lock, alacritty, tmux, bash, vim, mpv/youtube-dl, find, grep, git, curl, jq, weechat, top, firefox, newsbeuter, gpg, cal, node, xdotool & xkeybindings
I would like to not use firefox eventually. The web is too bloated. I should be able to view all websites reasonably in lynx. For everything else I should be using my own clients that talk to websites’ API.
I should eventually replace tmux with dvtm and dtach.
I should replace vim eventually with an editor written specifically for me.
I should use dash instead of bash or something simpler.
find -> fd
grep -> ripgrep
curl and jq will not be replaceable.
weechat is amazing in every which way. It’s truly a futuristic chat client.
top works just as good as htop when you know how to use it.
i3 & i3lock will never be replaced until we are all on wayland - then it’ll be sway or whatever it is.
alacritty is good, could be replaced with st, but not a big deal which terminal emulator I use, as long as it supports all of vim’s features.
mpv/youtube-dl is not replaceable either.
newsbeuter is great for rss feeds, something I’ve only recently discovered the power of.
gpg may be replaced eventually depending on the ecosystem.
cal -3 is a great little utility to quickly look at dates.
node is basically not replaceable; it’s a useful repl to quickly test bugs and js language features.
A distro that includes these by default would be extremely useful. My goal is to have a toolbox I totally understand and could modify if need be.
Actually a userland written completely in one language would be awesome. Maybe one day I’ll just write my own little language and implement all the above in a simple form.
jrnl.sh is awesome. It helped me organize my life.
Neovim, iTerm, Firefox, git
vim, python, google.
These are the three essentials. Everything else for me is replaceable. Even vim, sometimes. But without the other two, I’d be screwed.
No ones mentioned Appcode - my Swift IDE of choice.
[Comment removed by author]
Webapps have replaced my email and music programs
In a random order: FreeBSD 12, i3wm, Firefox, Signal Desktop, Cryptomator, Keepass, Telegram, Spotify, VS Code, Libreoffice, Krita, git, bash, Remmina, Nextcloud, my favorite terminal of the moment.
At Work:
At Home:
GNU Emacs, Slickrun, Xplorer2, Keepass, Firefox, Poppeeper, Switcheroo, Everything
OS: macOS Mojave
Email: Mozilla Thunderbird
Browser: Opera
Authenticator: Authy
Music: Spotify
Terminal: standard mac Terminal
Notes: TextEdit
Communication: Slack
Containerization: Docker (docker-compose)
IDE: Visual Studio Code
I recently got back into .NET work. I am a recovering Mac user (I see the platform as dying, and 3 keyboard replacements made me mad). I don’t like FAANG.
Windows 10, Visual Studio 2019, SQL Server Management Studio 2017. WSL, Git. Vim, Notepad++. GIMP. ProtonVPN. Firefox with Containers, Privacy Badger, uBlock, and LastPass. Thunderbird. Riot, Signal Desktop, Discord. Foobar2000. For music work, REAPER, Audacity, MuseScore.
Windows/Work:
Home:
Side projects on my personal server:
Linqpad is awesome. I haven’t played with UI generation - I mostly use it for queries and as a scratch pad for C#
OS: Ubuntu
Editor: vim w/ syntastic, fzf
Terminal: alacritty with tmux
DE: i3-gaps w/ polybar and d-menu
Browser: Google Chrome (personal and work instances) w/ vimium / ublock
Music: Spotify
Shell: Bash
Comms: Gmail / Hangouts / Docs / etc
Source control: Mercurial (internal) / Git (for OSS only)
I use both macOS and Arch Linux on a regular basis, with macOS being used mostly for work, arch for side-projects/open source. I spend the huge majority of my time in the terminal or the web browser and I’m not a gamer, I use very little other “apps”.
For mac:
Of course, git, Go and a number of other command-line tools/utilities/databases/programming languages.
Browsing: Firefox with UBlock Origin, UMatrix, and Privacy Badger Editor: Emacs Terminal Emulator: ITerm 2 with ZSH
That mix covers 80% of my daily work–I occasionally have to open Android Studio, or use Postman.
Work (office, heavily controlled):
Home:
Phone:
Probably pretty boring stuff for a developer who uses several languages and ecosystems
terminator
for mouse-resizing, but any terminal is fineThe only thing I’m really finicky about is what apps are on what virtual screen, I wrote about it here: https://f5n.org/blog/2019/desktop-environments/ - this is just a habit and lets me context-switch very quickly without alt-tabbing 10 times.
I used to blog a list of “make windows bearable” tools: https://f5n.org/blog/2016/tools-windows-2016/
Home
Work (where it differs from home)
That’s it really
My primary dev machine runs a fairly close to vanilla Fedora Workstation. Clean and boring all the way. I’ve bounced around many distros and DEs but I keep coming back to the workspace-centric flow of GNOME. And I just plain like the look and feel.
Text editor, Document Reader, Firefox, VLC, and password manager get me through most of my daily needs.
Software I currently use weekdaily: arch linux (systemd, pacman) or void linux (runit, xbps), dwm, compton, bash, urxvt, vim, mpv, mutt, offlineimap, sxiv, sxhkd, dmenu, glances, weechat, syncthing, firefox (ublock origin, vimium), keepassxc, tmux, ssh, git, git annex, redshift, xbanish, xtrlock, mupdf, newsboat, bitlbee-libpurple (skype in weechat, please), magic wormhole (not-daily, but I want to mention it), standard unix commands. I currently favour the dina font.
Oh and “daily”, but only during the holiday season, I run xsnow.
My list of software I use daily is Karabiner, Alfred, VSCode, iTerm on mac amongst other tools. And Tweetbot, 2Do, Telegram, Overcast on iOS.
A little bit cluttered, trying to braindump
Work (MacBook Pro):
Mixed use (Personal, do work on it too) - Thinkpad X1 Carbon, 4th gen
/etc/portage/package.*/*
)Personal Server
https://notes.neeasade.net/assets/img/desktops/full/2018-09-21.png
http://noriceno.life
os: nixos (thinking about CentOS 8 soon™, it’s been about 3 years)
editor: emacs
terminal: emacs
irc: emacs
browser: qutebrowser
wm: bspwm
panel: lemonbar
Mostly on a Mac for work, which is sad.
Home (OpenBSD, iPhone)
I use a lot of the usual suspects, but here are a few of the less popular things that I use a lot:
Me and Angelo Pesce both ended up with basically the exact same toolset and he described it in great detail here:
http://c0de517e.blogspot.com/2011/04/2011-tools-that-i-use.html
Firefox (NoScript, TreeStyleTab, Copy as Markdown/Copy Selection as Markdown), Vim/Neovim (with many plugins), Keybase (incl. for private git repos), 1Password, Marktext (after Zettlr, after Typora), Kdiff3 (esp. for the Ctrl-Y keyboard shortcut), Symphytum, Calibre, ripgrep, git, https://gingkoapp.com, Go (mostly at work), Nim (currently main lang for hobby projects/prototypes), Dead Cells (game, recently sees a lot of use…)
Ansible, icinga, vim, git, pass, terminator, screen, cinnamon, firefox, debian, claws, wireguard, openvpn, nginx, borg, irssi, dehydrated
borg? borgbackup or the google cluster manager?
On my personal machine I additionally use:
On my Work machine I additionally use:
(Edit: removed some stuff I don’t use daily.)
Job:
Not job:
OS X 10.{12,14}.6:
Looking at what I have running right now, it’s
Work
OS: Windows 10
Home
OS: macOS
In no particular order:
Ubuntu, Xfce4-session, Chromium, SoundCloud, Lobsters, YouTube, Geany, Vim, Xfce4-terminal, DuckDuckGo, Lua, Kazam (for screenshots)
I’m using mac.
Daily used apps:
As for ios:
I use and endorse the use of, a Macintosh, both as my work computer, and my personal one. I don’t use that much software these days:
Not daily, but critically, I also use:
… with the latter two keeping me on the Mac.
On my commute, I listen to podcasts on my iPhone with Overcast, and play games on my Switch (today, it’s “Untitled Goose Game”).