Every time I hear about Nix I get pretty excited, and then there are folks in the comments that say things along the lines of, "It's great, except when it doesn't work because of some missing package/Flake, and then it's hell and there is no 'escape hatch'". It's the lack of escape hatch that scares me. What if I want to install/configure something that hasn't been Nix-ified? Do you find yourself fighting with it to do something "simple"?
dinkleberg 2 hours ago [-]
I've been "all in" on NixOS for the past couple of years on my workstations and servers and will say that sometimes you do run into this, but there is an escape hatch. If you really need something that isn't available, you can just create your own package. nixpkgs continues to grow so the number of things not covered keeps growing smaller. But when you do encounter it, you can just create your own package and pull it into your flake.
AI makes this even easier, but you can usually find a similar package on nixpkgs and just modify it to suit the needs of that particular application.
I'll say this. Recently I reinstalled arch to see if I liked the freedom of it more. Within a week I reinstalled NixOS (which thanks to version control meant I was able to reinitialize it to be back in the exact state it was in beforehand).
1-more 2 hours ago [-]
Yeah I have no idea what I'm doing but I tell an agent to add such and such as a package in my flake.nix and it does it. I did this for getting the font I wanted in a LaTeX project even.
worble 2 hours ago [-]
As a last ditch resort, you can always use flatpaks, or failing that, use distrobox and install it in a distro that does actually package it. Yeah, it's a faff but hopefully you'll have to very rarely do this (if ever, I currently daily drive nix for web development and gaming and don't have anything that isn't nix-ified but obviously that's highly up to what you need)
bpye 2 hours ago [-]
> What if I want to install/configure something that hasn't been Nix-ified?
You can setup an FHS environment, this is often the strategy used when packaging closed-source binary packages. An example in nixpkgs is steam-run [0], I also used a similar approach to package Xilinx ISE [1] in a flake.
I find this semi-often, and typically just write a fixed-output derivation to pull down the vendor- or project-offered binary. I do use `nix-homebrew` for macOS apps though.
darkamaul 4 hours ago [-]
I’ve been configuring my Framework laptop with NixOS for a few years. The original premise of a reproducible OS was really appealing, but I’ve definitely run into drawbacks. The main one is that everything seems to take forever if you’re not using Nix every day, you lose the “muscle memory”quickly.
Also, while LLMs are great for coding, they’re still not very good at writing Nix.
justinrubek 4 hours ago [-]
I think this may be far more personal than expected. One of the things I like about running NixOS on my workstations and servers is that it's mostly hands off and right where I left it. I commonly go weeks to months or more without touching it, and it's all right there, organized, and ready to go. It allows me to offload a lot of the context and there's not much to have to remember.
forgetbook 3 hours ago [-]
I see both of your points here. I also have lost muscle memory on nix-rebuild-shell, and it's a technical onboarding to get that back. What I'm hoping for is a graphical installer within NixOS that abstracts it away for nontechncial users
amelius 4 hours ago [-]
I'm stuck on an nVidia Jetson system (which is Ubuntu based) and using Nix with the vendor supplied CUDA etc. is a disaster. Sadly, it is not possible to install other distributions either.
So while I'm happy for those who can run Nix, keep in mind that it is not a universally available path to nirvana (liberation from suffering).
jeffnappi 4 hours ago [-]
Through a new collaboration between NVIDIA, The Nix Foundation, and Flox, Nix CUDA packages are now available.
This is a great note for AI developers, but my use case around NixOS is targetted to consumer users. The value is in self-hosted services (clouds, VPNs, etc.) without needing to be technical, and supporting the standard suite of stuff the average consumer needs/uses. (Word processor, email, internet, PDF, zoom)
My biggest concern here is not feature parity with the latest in AI; but in usability, or maybe irrelevance (what happened to thin clients?). My hope is that what stopped thin client adoption was just paying cloud providers forever, and that the average consumer that has a home computer can use that computer as a NAS to actually be their own iCloud / OneDrive, with the ability to deploy their 'home machine' on any laptop.
amelius 2 hours ago [-]
But more and more tools will use AI. What if your self-hosted e-mail server uses AI to filter spam messages, for example? Or what if the consumer wants to run a drawing program that can do diffusion-style gen-AI?
Do you think a "batteries-included" NixOS install could be developed for users like me? I feel like a NixOS with libreoffice, zoom, etc. could be a drop-in windows11 replacement for a lot of users.
Maybe the key feature would be a graphical installer; something that presents an app-store iterative-install UI and in the background handles configuration.nix, so nontechnical users don't have to use the terminal or wrap their head around declarative config / version control to get a reproducible desktop that they can simply install on new machines.
Mic92 3 hours ago [-]
We are also working on something as part of clan (https://clan.lol/). Video from our NixCon 2025 talk is hopefully soon out.
forgetbook 3 hours ago [-]
Def post the link when up; from your website what I'm getting is somehow docker images + kitchen sink, which may just be my lack of knowledge but in any case means I as a consumer / target user don't get it
Yep, this is pretty much exactly what I'm looking for, thanks!
As a though experiment, how could NixOS be packaged with this for consumer users?
jquaint 2 hours ago [-]
For stuff that's not in Nixpkgs like this, IMO flakes is the best option. Both of these require flakes.
On the topic of deploying flakes to consumer users. I'm currently exploring using https://github.com/nix-community/nixos-generators to create pre-made install iso's for a full "batteries included" experience. You can just "overwrite" the regular nixos image. Its Nix all the way down.
darkamaul 4 hours ago [-]
I believe Determinate Nix has a graphical installer but I’ve never used it. [0]
That's just for Nix, not a way of installing NixOS.
NixOS itself has had a graphical installer for years, though.
forgetbook 3 hours ago [-]
You're misunderstanding, and it's a great opportunity for me to clarify:
I want a graphical installer for applications within NixOS.
Currently NixOS applications are added by editing the configuration.nix, with more specific tooling avaliable via flakes and home-manager. We agree that this is cool and good.
What I want for consumer use is NixOS, with an interal graphical installer that handles updating configurations in the background; ideally forming a no-terminal-necessary UX for consumer users.
pshirshov 4 hours ago [-]
And just imagine the world where Nix has a rich powerful type system and has dedicated support global configuration flags (aka useflags, aka axes).
jimmyff 3 days ago [-]
Hey, author here, the blog post takes you through my journey with nix so far: reviving an old Pixelbook with NixOS, wrangling my MacBook with nix-darwin, and super-charging Nix with AI to solve a problem I thought was unsolvable.
Happy to answer any questions!
shreyansdoshi 5 hours ago [-]
Do you know about any good/current blogs on Nix and flakes and home manager that ELI5 this stuff and don't involve banging my head against the wall? Plz say yes...
Highly recommend this + nix flake check for best results.
pxc 4 hours ago [-]
IME LLMs are only useful for very basic completion, answering careful questions about Nixpkgs idioms, and some basic packaging stuff (but it's easier to just read the manual for that), when it comes to Nix. They generate needlessly overcomplicated code, and they are worse than useless when it comes to the module system (always falling into infinite recursion problems and giving you nonsense solutions to it).
What have your successes in using LLMs to write Nix code looked like?
asmz4 5 hours ago [-]
[dead]
Rendered at 22:13:08 GMT+0000 (Coordinated Universal Time) with Vercel.
AI makes this even easier, but you can usually find a similar package on nixpkgs and just modify it to suit the needs of that particular application.
I'll say this. Recently I reinstalled arch to see if I liked the freedom of it more. Within a week I reinstalled NixOS (which thanks to version control meant I was able to reinitialize it to be back in the exact state it was in beforehand).
You can setup an FHS environment, this is often the strategy used when packaging closed-source binary packages. An example in nixpkgs is steam-run [0], I also used a similar approach to package Xilinx ISE [1] in a flake.
[0] - https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by...
[1] - https://github.com/benpye/nix-fpga-tools
Also, while LLMs are great for coding, they’re still not very good at writing Nix.
So while I'm happy for those who can run Nix, keep in mind that it is not a universally available path to nirvana (liberation from suffering).
https://flox.dev/blog/the-flox-catalog-now-contains-nvidia-c...
My biggest concern here is not feature parity with the latest in AI; but in usability, or maybe irrelevance (what happened to thin clients?). My hope is that what stopped thin client adoption was just paying cloud providers forever, and that the average consumer that has a home computer can use that computer as a NAS to actually be their own iCloud / OneDrive, with the ability to deploy their 'home machine' on any laptop.
So they can use the host driver in nix based services with Jetson
https://news.ycombinator.com/item?id=45160603
Do you think a "batteries-included" NixOS install could be developed for users like me? I feel like a NixOS with libreoffice, zoom, etc. could be a drop-in windows11 replacement for a lot of users.
Maybe the key feature would be a graphical installer; something that presents an app-store iterative-install UI and in the background handles configuration.nix, so nontechnical users don't have to use the terminal or wrap their head around declarative config / version control to get a reproducible desktop that they can simply install on new machines.
https://github.com/snowfallorg/nix-software-center https://github.com/nix-gui/nix-gui
These might be interesting for you :)
As a though experiment, how could NixOS be packaged with this for consumer users?
On the topic of deploying flakes to consumer users. I'm currently exploring using https://github.com/nix-community/nixos-generators to create pre-made install iso's for a full "batteries included" experience. You can just "overwrite" the regular nixos image. Its Nix all the way down.
[0] https://docs.determinate.systems/determinate-nix
NixOS itself has had a graphical installer for years, though.
I want a graphical installer for applications within NixOS.
Currently NixOS applications are added by editing the configuration.nix, with more specific tooling avaliable via flakes and home-manager. We agree that this is cool and good.
What I want for consumer use is NixOS, with an interal graphical installer that handles updating configurations in the background; ideally forming a no-terminal-necessary UX for consumer users.
Happy to answer any questions!
https://github.com/utensils/mcp-nixos
Highly recommend this + nix flake check for best results.
What have your successes in using LLMs to write Nix code looked like?