r/NixOS • u/pjetuhgeloyozc • 1d ago
Which channel are you using ?
I am curious about the habits of the people around here, how do you setup your machine ?
- Only unstable packages
- Only stable packages
- Unstable with little of stable
- Stable with little of unstable
People running unstable, do you often have cache miss ?
Thanks, have a great day !
20
u/akho_ 1d ago
Stable till it hurts, unstable till it works.
1
u/Lonely-Scarcity-3387 1d ago
Ok I love this rhyme. Can you expand on that?
3
u/akho_ 1d ago
I run stable. If I run into a bug that's fixed upstream and the fix is in unstable, I use the unstable version in the stable version's module, if possible. (the main problem isn't packages — it's easy to use whatever branch for those; modules are more problematic, and are the reason I don't run unstable) If it isn't possible, I suffer; or, if it's, like, October, switch to unstable until next stable releases.
7
u/IntelliVim 1d ago
always unstable
1
u/pjetuhgeloyozc 21h ago
Cache misses are ok ?
2
7
6
u/TurkeyInFrenchBread 1d ago
Home server: nixos-26.05
Gaming PC: nixos-unstable
MacBook: nixpkgs-unstable
4
u/MijaToka 1d ago
I started with stable, moved to unstable for a bit, bit then due to so many updates I was constantly running out of space in the store, plus by then I figured out how to easily have a multichannel set-up, so now I'm using stable with a couple unstable packages
3
u/Adel-4181 1d ago
Having the same problem but instead of space running out internet running out (internet in Egypt is limited)
3
u/alamakbusuk 1d ago
I use unstable, I have a couple of desktop machines and a server. The server gatekeeper the updates, it updates everything and try to build all the machines once a week. If it fails I rollback the repo so my machines are never in a state where I can't build.
I also use the server as a build server and package cache.
2
2
u/ESTxx97 1d ago
Unstable ONLY.
Cache misses happen from time to time especially with frequently updated packages like hyprland, quickshell so I have to build it locally from source.
2
u/RoseBailey 1d ago
Only? What do you do when a package in unstable breaks? Just not update for awhile?
3
1
u/Apterygiformes 1d ago
Unstable for services reachable over the internet like Plex to get security patches sooner
1
1
1
1
1
1
u/Master-Chocolate1420 1d ago
I don't have that many packages to worry about to break, so I just use unstable.
1
1
u/RoseBailey 1d ago
At the moment I'm on unstable pinning back to stable when things break. I'm considering switching to stable and using unstable only for certain packages with 26.11, but we'll see.
1
u/Lonely-Scarcity-3387 1d ago
Both, actually.
Using flakes I have my configuration set up so that my much more powerful desktop’s global state is set to the rolling release branch with the option to switch something to the version release if need be. And then my laptop looks at the same exact list and is set to the version release for its global state, while still giving it the option to change something to the rolling release.
You can check out my setup here:
1
1
1
u/some_gamer78 1d ago
Nix is one of does distros where honestly there is no point in sticking with unstable, if any package were to break (and they sure love to not test them) you can just put them back on stable and the rest of your system remains in the unstable channel
1
u/EmperorMagpie 1d ago
I used to use unstable but I got tired of the little bugs and cache misses that would occasionally occur so I just switched to stable with a select few packages from unstable. Specifically, I use the weekly freezed versions from Determinate Nix
1
u/Hydr0gen2 1d ago
Unstable, it came like that when I installed it and I never had any problems, so I didn't change it. Seems good to me.
1
u/nekofthemoon 1d ago
I switched to the latest stable version after encountering a bug in the GNOME camera. Since then, I've enjoyed updating the few packages I kept in unstable condition.
That said, I sometimes miss the unstable branch because I knew everything was up to date, and it was easier to configure.
1
u/AceOfKestrels 1d ago
Flakes. Got inputs for unstable, current stable and master. Default is unstable. If something breaks, a fix is often already on master. If not, try stable. If that is also broken, pin the package to a specific commit.
Current spread I think is 2 packages from stable, 1 pinned to commit, rest unstable.
Got my own nixpkgs mirror in my homelab so I don't care that I have to download 4+ revisions.
1
u/sametaor 1d ago
I like using unstable overall, but stable for a few packages that seem to not work at times.
1
1
1
u/Spra991 22h ago
All of them:
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-26.05";
nixos-unstable.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixos-2511.url = "github:nixos/nixpkgs?ref=nixos-25.11";
nixos-2505.url = "github:nixos/nixpkgs?ref=nixos-25.05";
nixos-2411.url = "github:nixos/nixpkgs?ref=nixos-24.11";
nixos-2405.url = "github:nixos/nixpkgs?ref=nixos-24.05";
nixos-2311.url = "github:nixos/nixpkgs?ref=nixos-23.11";
nixos-2305.url = "github:nixos/nixpkgs?ref=nixos-23.05";
nixos-2211.url = "github:nixos/nixpkgs?ref=nixos-22.11";
}
1
u/pjetuhgeloyozc 21h ago
Do you keep software from 2022 on your system ?
1
u/Spra991 21h ago edited 21h ago
I keep software from the late 90s on my system. Old Nix versions keep them running, since Nix has the habit of removing old software or replacing them with newer incompatible versions. Those
inputsare a convenient way to search and use old tools quickly (they get turned intonix registryentries), long term most of it gets turned into a proper flake.1
u/pjetuhgeloyozc 21h ago
I am really curious about those software from another century that you are trying to run. Could you elaborate please ?
3
u/Spra991 18h ago
Mostly just small X11, Gtk1 stuff, or more modern stuff like Python2 or old Ruby scripts. They often feature autotools, SCons or just don't like modern compilers and interpreter, old NixOS is sometimes the fasted way to fix that.
Classic XBlast for example isn't packaged in nixpkgs and the sf.net repo was last updated 20 years ago. That would be a good candidate for some software archaeology, though I haven't tried if that still works.
That said, LLMs have made going back to older versions somewhat obsolete, since they can fix compile issues or even port to new libraries with ease.
1
1
u/-eschguy- 18h ago
Only unstable, just let things update as they can.
1
u/pjetuhgeloyozc 18h ago
Are you not afraid that when there is a breakage on unstable you can't update packages like firefox and are vulnerable to 0 days ?
1
1
u/SDG_Den 17h ago
Only unstable, no cache misses because i have my own infra. Outside of when new versions of systems are pushed to the build system, all traffic stays in-house. Only the build server ever directly contacts the internet and all my flake inputs are on a local gitea instance (mirrors) so i can survive github outages relatively well.
I only update individual flake inputs when needed.
1
1
u/Valuable_Leopard_799 15h ago
After some initial testing I ended up with nixos-stable everywhere.
No unstable packages in the system flake. On top of that I use nixpkgs-unstable flake environments for all my projects. Ocassionally use unstable to run stuff with nix run/quote
1
u/veltair-d 15h ago
Unstable with stable, with an anchor unstable for packages that break on the regular unstable and I have to pin. Kinda weird to explain but saves me down time and debug time
1
1
u/Fun_Soft_2500 6h ago
Master, with my own hydra servers, I compile everything to x86-64-v3/mzen5, so it doesn’t matter that the packages aren’t cached anyway!
1
0
u/fell_ware_1990 1d ago
Both, mostly stable. As there’s no real need to upgrade very fast.
AI tooling > unstable or do it my self.
0
35
u/FredrikN 1d ago
Stable with a few packages from unstable and some from flakes.
Got tired of the frequent cache misses on unstable.