Happening here, all the time, starting now.
AMA
Nice!
How long have you been using Nix, and why are you bullish?
Thanks, Hustle
reply
fell down the rabbit hole in 2020, started using NixOS full time late that year. Got slowly better at it bit by bit. At first I was just checking how real the hype was, but now fully Nix-pilled.
It's how packaging should be. Everything that came from it--Nixpkgs, NixOS, etc--is downstream of the big idea: make software builds functional, as data processed by functions that compose. Throw that imperative, stateful bullshit away and computers become way easier to work with over time.
Nixpkgs is the virtual Library of Alexandria for open source software. NixOS is the single best way to build, configure, and manager operating systems. Nix is the first legit universal package manager. The community is true no-compromise open source hackers.
How could one not be bullish? :)
reply
I'm a nix noob,
Fell down the rabbit hole 2023 when I started seeing nix for bitcoiners stuff on youtube. I'm seeing Nix as a new paradigm in computing. I need to take advantage of the tools similar to taking advantage of privacy tools/coin control in bitcoin.
Looking forward to doing more stuff with flakes, and setting up a really nice modular build on my desktop and laptop.
reply
for sure man, I see nix as being a crucial part of open source software's future.
reply
21 sats \ 1 reply \ @ek 8 Feb
Damn, you're giving me straight up Nix FOMO
reply
i mean it's pain, and at the end, deliverance
reply
125 sats \ 2 replies \ @k00b 8 Feb
When shouldn't someone use Nix? What is Nix bad at?
reply
2131 sats \ 1 reply \ @jurraca OP 8 Feb
Mainly, it's a fairly steep learning curve. The docs suck (but have gotten way better recently). But mostly it's hard because build systems, and computers in general, are hard.
Nix forces you to deal with the complexity that's usually hidden behind the nice CLI commands you've learned. You have to deal with your language's compiler, its build process, how it composes libraries etc.
It also reveals the flaws of some language's build systems. For example, making Nix packages for Python is, in my experience, a total nightmare. if you're a python dev you're gonna have a bad time. But great build tools (like Rust's cargo, or Elixir's mix) are super easy to work with because those build systems have learned from past's ecosystems' mistakes.
If you're comfy on your Mac using homebrew and don't really care about open source software as a philosophy, then no need to put yourself through learning to use Nix.
reply
Homebrew feels like a nightmare. When I switched back to Mac, the first thing I did was install nix on orbstack and then switched all my dotfiles over. A pain for a month but I couldn't look back. I've yet to run a single command in my Mac terminal besides occasional xcode stuff.
reply
100 sats \ 1 reply \ @ek 8 Feb
Can NixOS be described as Git for operating systems?
I really like this idea of reproducible builds and before I went to btc++ in Berlin (which served nix-pills), I actually pondered the idea of creating a personal base image of Arch Linux. So far, I just maintained some documentation in Notion of what things I usually configure on new installs (sshd, WireGuard, dotfiles etc.) so I don't have to figure out everything again when I setup a new machine.
But now I think what I actually want is NixOS?
reply
(edit) bruh i was at btc++ berlin too! And yea you want nixOS in that respect. check out a great example of this in the wild with nix-bitcoin project.
interesting. In a sense, yea if you mean that your OS's config becomes a file you can read, modify, and evolve over time. You configure it once, and you can then take that NixOS config file anywhere to recreate your machine, kind of like checking out a Git commit.
But you can check that config file into Git! So you can actually "save" an operating system config as a Git repo... which is fairly difficult with other OS.
reply
Hey Freak,
How many sats would it take for you to post on the Nix OS territory once or twice a day?
For example, If I zap you 20k sats, would you post twice a day for a week? (assuming the cost to post is 200).
I'd also zap for a brainstorming session on, where the territory should go, .......and Nix OS in general.
Let me know what you think freak!
reply
I'd love to post more! I think i'd want to have content for a longer time horizon than a week to get a solid thing going though. Let's chat for sure! Npub in bio.
reply
Message sent, lfg freak.
reply
let’s fucking go!
reply
What are your opinions on flakes? Every now and then I run into an OG that hates them but that's all I know going in and I find out useful. I have some general stuff in home manager but other than that I've been enjoying rust projects in nix flakes.
Though I've been quite annoyed at first with what feels like 8+ different rust overlays and I've ended up with what I believe is just the basic old original one when it comes to needing nighty, wasm, etc.
reply
yea, i'm not sure i have the whole picture but here's the tradeoff:
  • flakes are very cool in the sense that they're more generic than just throwing a nix expression with source code. They're really another layer that builds on top of Git, where you commit the build configuration with the source code. So any project with a flake can be discovered via Nix without the user/caller relying on nixpkgs. And then you can compose flakes from different projects as you see fit.
  • Flakes are a step away from the nixpkgs model which is more about "running a package management repo" . In Nixpkgs, I don't have to care about which version of nixpkgs i'm running, the packages will compose together nicely. That's what nixpkgs guarantees! With flakes you have to be careful not to pull in diff versions of nixpkgs etc. So non-flakes world is more about creating a monolithic set of package recipes that are guaranteed to work now and at any point into the future. This article goes into this a bit.
I get that it's super annoying to be faced with two models when you walk into Nix, but I think they're two approaches and both work for diff purposes. Infinite respect for Nixpkgs (the mothership) and also use flakes for my projects and machines.
reply
Why should I care about nix?
reply
wrote this a while back, might help. In short, it's actually a really good innovation in how to build and share software.
reply
Ahh not for your regular windows/Ubuntu user. NPM package manager types no longer needed with nix. Do you know of any hardware that ships with only nix as its OS?
reply
you can use nix on ubuntu, and keep your regular package manager side by side, they won't interfere with each other. idk about hardware wallets, but I know Pavol Rusnak at Trezor is a Nix fan and contributor. don't think their wallet uses NixOS though.
reply