NixOS unstable in my workstation and my laptop. Using sway on Wayland on top of all-AMD hardware. I play games with this setup and I write Rust and TypeScript for living. I love the customizability and the reproducibility of NixOS: I just clone my config and I have exactly the desktop I’ve always had, every little tool and customization included. If my hard drive fails, I just plug a new one and I am productive in about 15 minutes.
My sway desktop has been looking and working similarly for years, and before that I used i3 on Xorg for almost a decade. I like how the UI doesn’t really change that much.
How does your rust env setup look like? I’ve recently setup a full flake based dev-env, that uses fenix. It works great, but I’m interested in hearing a professional opinion
NixOS unstable in my workstation and my laptop. Using sway on Wayland on top of all-AMD hardware. I play games with this setup and I write Rust and TypeScript for living. I love the customizability and the reproducibility of NixOS: I just clone my config and I have exactly the desktop I’ve always had, every little tool and customization included. If my hard drive fails, I just plug a new one and I am productive in about 15 minutes.
My sway desktop has been looking and working similarly for years, and before that I used i3 on Xorg for almost a decade. I like how the UI doesn’t really change that much.
How does your rust env setup look like? I’ve recently setup a full flake based dev-env, that uses fenix. It works great, but I’m interested in hearing a professional opinion
When I worked for Prisma, you can check our rust setup from the public flake:
https://github.com/prisma/prisma-engines/blob/main/flake.nix
CD to the project and nix-direnv loads the flake. Get to work.
Now when I’m working in Grafbase, our flake is a bit different:
https://github.com/grafbase/grafbase/blob/main/flake.nix
Instead of the Rust overlay, we use rustup and rust-toolchain.toml. This makes it easier to enforce the same Rust version for nix and non-nix users.
Both ways work really well. The deal is to define the rust env per project instead of defining it globally. Use direnv to make it working seamlessly.