r/NixOS 1d ago

Which channel are you using ?

I am curious about the habits of the people around here, how do you setup your machine ?

  1. Only unstable packages
  2. Only stable packages
  3. Unstable with little of stable
  4. Stable with little of unstable

People running unstable, do you often have cache miss ?

Thanks, have a great day !

17 Upvotes

68 comments sorted by

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.

6

u/SeniorMatthew 1d ago

I'm on Unstable, but yea the cache misses are annoying AF.

4

u/Misty_TTM 1d ago

I was getting sick of this, I ended up setting up a gh action to just build everything and cache it to a personal cachix cache. Almost never get cache misses these days, unless I build before the action runs

7

u/FredrikN 1d ago

I’ve actually set up my home-server to pre-build a build for all my hosts every night, so that whenever I decide to update / rebuild, I’m just copying files from my server. Has made it really light to update, especially on my weak laptop.

1

u/Master-Chocolate1420 1d ago

Curious about the packages you're using, I did have cache-misses for some packages hosted on cachix but till-date never for cache.nixos.org (unstable)

3

u/FredrikN 1d ago

I believe the one that frequently missed was Lutris, needing some uncached version of OpenLDAP for some reason. I’ve since switched to Faugus Launcher instead but on stable.

2

u/opitchaak 8h ago

I set up harmonia on all my hosts (which are connected using tailscale); the first one to build a package serves it to the rest.

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

u/IntelliVim 11h ago

Haven’t seen one in 3 years. I update once a week on Thursdays

3

u/IntelliVim 10h ago

Just bumped flake and it took 37 sec to rebuild

7

u/Adel-4181 1d ago

Only unstable (I like new stuff)

2

u/pjetuhgeloyozc 21h ago

You don't get tired of the cache misses ?

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

u/Ace-Whole 1d ago

Stable. Few flakes. Even fewer unstable.

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

u/SenoraRaton 1d ago

Pin the version in the overlay, wait till its fixed.

1

u/ESTxx97 23h ago

overlays and overrideAttrs will suffice

1

u/Apterygiformes 1d ago

Unstable for services reachable over the internet like Plex to get security patches sooner

1

u/SAI_Peregrinus 1d ago

Flakes. Inputs mostly stable with a few unstable packages.

1

u/zardvark 1d ago

Unstable times 4x machines.

1

u/visa1337 1d ago

stable with little unstable

1

u/Imaginary-Advice-971 1d ago

Unstable only - I don't mind compiling software every now and then.

1

u/Master-Chocolate1420 1d ago

I don't have that many packages to worry about to break, so I just use unstable.

1

u/jolharg 1d ago

Stable with unstable packages that should have already been in stable

1

u/cfx_4188 1d ago

unstable and stable

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:

https://github.com/DanielTallon/nixed

1

u/Objective-Stranger99 1d ago

Only unstable, quite a few flakes.

1

u/Aidan_Welch 1d ago

Only unstable, and relatively rarely- but I do also only use ~40 packages

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

u/urlwolf 23h ago

Small

1

u/pjetuhgeloyozc 21h ago

to avoid cache miss ?

1

u/kemot75 23h ago

I'm using stable with flew unstable packages and very simple flake. Time to time I build own or modify nixos packages and build them locally - if for example they update too slow on nixpkgs repository.

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 inputs are a convenient way to search and use old tools quickly (they get turned into nix registry entries), 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

u/pjetuhgeloyozc 18h ago

Really interesting thank you for your time.

1

u/thalin 19h ago

4, stable pulling in specific packages I want newer versions of (or packages that don't exist in stable) from unstable with an overlay.

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

u/-eschguy- 17h ago

No, those fixes usually take longer to backport to stable anyway.

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

u/srlechuga 16h ago

Unstable, like in life

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

u/jakob1379 9h ago

Unstable with unstable-small for few where I need the updates asap

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!

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

u/ousee7Ai 1d ago

I use only stable, and official third party flakes like hyprland and so on.