12

What other approaches do folks use to deterministically customize Linux?

you are viewing a single comment's thread
view the rest of the comments
[-] sukhmel@programming.dev 2 points 1 day ago

Community publishing the configs sometimes confuses even more, because everyone does the same things differently, and some are deprecated, and some are experimental, and I was lost way more times than once while trying to make sense of it.

I like Nix, and I use it on my Mac and in our production for cross-compiling a service, but man is it a pain to fix issues. That is beside the point that for some reason Nix behaves a bit different on my machine and on co-workers', and the only thing I wanted from it is to be absolutely reproducible

[-] ruffsl@programming.dev 2 points 19 hours ago

Yep, with a Turing-complete DSL, there's never just one way to do something in Nix. I find the interaction between modules and overlays particularly quirky, and tricky to replicate from public configs that make advance uses of both.

That said, I do appreciate being able to git blame into public configs, as most will include insightful commit messages or references to ticketed issues that include more discussion with informed community members you can follow up with. Being able to peek at how others fixed something before and after helps give context, and with the commits being timestamped, it also helps gauge current relevancy or chronological order to correlate with upstream changelogs.

Are you using flakes with lock files, or nixpins to fix down the hashes of your nix channel inputs? I like fixating my machines to the same exact inputs so that my desktop can serve as a warm local cache when upgrading my laptop.

[-] sukhmel@programming.dev 2 points 17 hours ago

Personally I use flakes.

On the work we use an abomination that creates flake.lock but then parses it and uses to pin versions, it took me a while to realise this is why setting a flake input to something local never seemed to have any effect, for instance

[-] ruffsl@programming.dev 1 points 17 hours ago

I'm using flakes as well, so that abomination sounds terrifying...

[-] sukhmel@programming.dev 3 points 17 hours ago

I think, it's based on an old flake-compat package or something. It's not inherently bad, but it displays what I dislike the most about Nix design, it's very opaque and magical until you go out of your way to understand it.

The globals are another example of this, I know I can do with something; [ other ] but I am never sure if other comes from something or not. And if it's a package parameter, the values also come seemingly out of nowhere.

this post was submitted on 19 Aug 2025
12 points (100.0% liked)

Linux

9018 readers
223 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS