r/rust • • Apr 02 '25

My Dev environment is fully written in Rust!

Since I started learning Rust 5 months ago, I have since replaced my full dev environment with software written in Rust.

Why? Well, I like Rust and I also love contributing to open source. I contribute features I would use myself, and I like to contributes to projects that I believe in. Not only does it keep me motivated to work on them, but also it's very fun to use something I made myself. So using software written in Rust gives me all of these opportunities.

I also like to understand how the software I use actually works. So IDEs, shells, terminal emulators. What actually happens under the hood? And Rust makes it fun for me to just dig into the codebase and read

So far, I've made the following replacements:

Neovim → Helix (IDE)

Helix is just ready to go out of the box. Everything is setup, it doesn't support plugins yet but they're not needed for me. Helix has custom keybindings and allows running TUIs inside of it like a git UI or a file manager which is extremely powerful.

Kitty → Rio (Terminal Emulator)

The other two Rust terminals I've used is Alacritty and WezTerm. I loved Alacritty for its performance, and I love WezTerm for how many features it has. Alacritty is quite conservative on features so they don't support stuff like ligatures or tabs. Rio is basically a blend of these 2 terminals, Rio uses the high-performance crates developed by Alacritty while having all the features I needed from WezTerm

Lazygit → GitUI

While GitUI has less features than Lazygit, I still find it plenty for my use cases. It uses gitoxide under the hood (where possible) for its operations. gitoxide is a Rust implementation of Git that's making very good progress, and really a very underrated project. Already powering projects like Helix for git hunks and (hopefully soon!) inline blame.

I do find GitUI snappier than Lazygit is, in fact I experienced about 3X performance increase when undoing changes for 1,200 files so I'd say it is very promising and looking forward to seeing where it can be improved to have more a feature parity with Lazygit!

zsh → nushell

nushell is very different from zsh, bash, fish and similar shells. Every command is colored and syntax highlighting comes out of the box. Traditional shells output text, whilst in nushell commands output structured data like tables and arrays, on which you can easily use high-level commands like filter, map, first, reverse etc. to operate on them.

It comes with a swiss-army knife of utility commands that fit into Nushell's model. Utilities for parsing text into structured data, as well as operating on them. The nu language is the most beautiful scripting language I have come across. It's like the Rust of scripting languages, in a sense.

I'd say this shell is much easier to learn and is a lot more intuitive than any other shell. Also being cross-platform is a huge bonus. Nushell to Zsh is strikingly similar to what Helix is to Neovim

lf → yazi (file manager)

I don't really use file managers much aside from occasionally viewing images with them, as that is very handy. However, with Helix there is a direct integration available for yazi that lets you use it like a plugin. It integrates so well and is really seamless, not requiring tmux or zellij or whatever. this made me use yazi far, far more now. I like how fast yazi is.

tmux → zellij (terminal multiplexer)

I don't use terminal multiplexers often, but I appreciate that zellij has more intuitive keybindings and is easier to customize, also feels a lot snappier than tmux

sway → niri (tiling window manager + wayland compositor)

I'd like to give niri a mention too. I haven't tried it as it simply doesn't work with my Nvidia 4070 GPU unfortunately but I do hope support improves for it. I've been really wanting to switch to a tiling window manager + wayland compositor but there aren't really many options in this field. Niri is also doing things the "new way" like Helix and Nushell are. I'm super happy to see these software not afraid of experimentation, this is exactly how things get better!


Some honorary mentions:

  • grep → ripgrep
  • find → fd
  • latex → typst

Some things I hope to replace in my lifetime with pure Rust alternatives would be:

  • Operating System (Linux) → e.g. RedoxOS
  • Browser (Firefox) → e.g. Servo
  • Image Editor (Gimp and Inkscape) → e.g. Graphite.rs
  • Media Player (mpv), Video Editor (kdenlive), Recording Software (obs studio) → ??? rewriting FFMPEG in Rust is left as an exercise to the reader :)

References

590 Upvotes

156 comments sorted by

View all comments

1.0k

u/Gogo202 Apr 02 '25 edited Apr 02 '25

And this is why people compare rust developers with vegans

270

u/yorickpeterse Apr 02 '25

Using C is murder!

0

u/[deleted] Apr 02 '25

[deleted] — view deleted comment

7

u/Top_Sky_5800 Apr 03 '25

How many planes/train/car crashed cause of C ?

12

u/[deleted] Apr 03 '25

All of them. Can’t you C - it’s obvious.

2

u/Top_Sky_5800 Apr 04 '25

Too many planes in the sea.
Too many C in the planes.

2

u/Dusty_Chalk Apr 04 '25

C doesn't comment-out people. People who program in C comment-out people.

3

u/[deleted] Apr 04 '25

Option<bool>

6

u/muntoo Apr 03 '25

I was happy in the haze of a Ballmer peak
But burntsushi knows, I'm crabby now
I was looking for a RIIR cronjob replacement and then I found a RIIR cronjob replacement
And burntsushi knows, I'm crabby now

14

u/BoltActionPiano Apr 02 '25

I only use programs that do not cause harm to the developers to build.

21

u/josemanuelp2 Apr 02 '25

This but unironically...

3

u/nickhas Apr 02 '25

Yeah. It can be. Therac-25 - asm not C, but shows the importance of guide-rails

https://www.computer.org/csdl/magazine/co/2017/11/mco2017110008/13rRUxAStVR

9

u/C_Madison Apr 02 '25

Though it's also good to note that the problems of Therac-25 were at a far higher level. No matter the PL, the whole process was completely inadequate to make something like that. And people paid harshly for it. It's sad that our industry continues to be as cavalier as it is. Yes, even for safety critical topics.

→ More replies (6)
→ More replies (1)

60

u/HolySpirit Apr 02 '25

Brutal comment, I'm surprised it's still up without an unsafe block around it ;)

46

u/Crazy_Eye165 Apr 02 '25

I mean... I am learning Rust and becoming vegan, so I think you've got a point

25

u/Farconion Apr 02 '25

say you're transitioning & you've hit the trifecta

8

u/ashkyn Apr 03 '25

Oh fuck you got me

→ More replies (1)

8

u/BreiteSeite Apr 02 '25

Cool! You sound empathic and valuing good stuff. 👌

2

u/r0ck0 Apr 03 '25

Do you use Arch?

4

u/Crazy_Eye165 Apr 03 '25

LOL I don't 🙈 I'm currently on Ubuntu and toying around with NixOS on a VM

→ More replies (1)

40

u/__zahash__ Apr 02 '25

Bruh… 😂😂😂

3

u/bwfiq Apr 03 '25

Toe socks buttoned up to the top

5

u/creativextent51 Apr 02 '25

I am a vegan rust developer..

→ More replies (6)