!9IQChSjwSHXPPWTa:lix.systems

Lix

1105 Members
Lix user channel. Feel free to discuss on-topic issues here and give each other help. For matrix.to links to the rest of the Lix channels, see: https://wiki.lix.systems/books/lix-organisation/page/matrix-rooms295 Servers

Load older messages


SenderMessageTime
27 Nov 2025
@raitobezarius:matrix.orgraitobezariusSimply reboot in the LTS kernel and you should have ZFS I think?20:07:03
@ff-vringar:mozilla.orgvringar
In reply to @raitobezarius:matrix.org
Simply reboot in the LTS kernel and you should have ZFS I think?
Ahhh, my bad
Didn't consider that when choosing the installer image.
Thanks!
20:12:03
@toonn:matrix.orgtoonn Is unflake flake-compat on steroids? 23:12:51
28 Nov 2025
@yqrashawn:matrix.orgyqrashawn joined the room.00:35:31
@antifuchs:asf.computerantifuchsOh neat, unflake looks like fun, but way different from flake-compat. The latter tries to work with the flake as written; unflake looks like it rewrites your source tree04:43:00
@goldstein:tty5.devgoldstein flake-compat works with flake.lock, so it uses built-in resolver
unflake doesn’t interact with flake.lock at all. it resolves dependencies internally, unifies them and produces its own lockfile (or integrates with npins for locking)
11:04:01
@goldstein:tty5.devgoldsteinnot sure what do you mean by “rewrite your source tree”. the only files unflake writes is unflake.nix and (if npins integration is enabled) npins/sources.json11:04:30
@goldstein:tty5.devgoldstein* not sure what do you mean by “rewrites your source tree”. the only files unflake writes is unflake.nix and (if npins integration is enabled) npins/sources.json11:04:41
@toonn:matrix.orgtoonn So it ignores flake.lock altogether? 11:07:00
@goldstein:tty5.devgoldsteinyeah, it doesn’t read any flake.lock files11:07:34
@helle:tacobelllabs.nethelle (just a stray cat girl)distinctly both an upside and a downside I guess11:07:59
@goldstein:tty5.devgoldstein yeah, kinda
the big question is whether we actually need transitive dependency locking
I have a feeling that we don’t, and the ecosystem is so used to writing .follows that we actually already don’t really fully lock transitive dependencies, but we lose some reproducibility, obviously
11:09:59
@toonn:matrix.orgtoonn I recently ran into a flake that didn't have an accompanying flake.lock, flake-compat couldn't handle it. It supports only lockless flakes that don't have any inputs except for self, AFAIU. So unflake would've probably helped in that instance. 11:10:02
@helle:tacobelllabs.nethelle (just a stray cat girl)I mean I have some stuff that needs careful poking at when updating11:10:37
@goldstein:tty5.devgoldsteinyou still have top-level lockfile in any case (it’s just not called flake.lock) and you can upgrade individual dependencies with npins11:12:00
@helle:tacobelllabs.nethelle (just a stray cat girl)yeah, I am currently using npins for those, so it is not a huge worry for that11:12:31
@goldstein:tty5.devgoldsteinI’m planning on adding granular updates in unflake’s native lockfile too (so you don’t need npins for that; there’re some pain points with npins integration), but it’s not there yet11:13:51
@goldstein:tty5.devgoldstein* I’m planning on adding granular updates in unflake’s native lockfile too (so you wouldn’t need npins for that; there’re some pain points with npins integration), but it’s not there yet11:14:34
@jassu:kumma.juttu.asiaJassukoI've always felt that the flake locking concept is managed "wrong way around". I would like to specify a clear exception when something is brittle or broken and needs to lock into a specific nixpkgs or other dependency version instead of following the top-level nixpkgs choice. The default should be to follow the parent whenever possible. -_-11:22:27
@goldstein:tty5.devgoldstein yeah, hence unflake
it follows based on input spec, so if someone specifies e.g. a specific commit or a different branch, it’ll get that, but otherwise everything will be unified
11:23:27
@jassu:kumma.juttu.asiaJassuko(but flakes feel like writing java anyway, so...)11:23:26
@goldstein:tty5.devgoldstein * yeah, hence unflake
it follows based on input spec, so if someone specifies e.g. a specific commit or a different branch, they’ll get that, but otherwise everything will be unified
11:23:42
@522_:catgirl.cloud522 it/its ⛯ΘΔ mhm. though that being said, you don't want to force anything to use a breaking change. but flakes don't really have a notion of versioning or breaking change so you can't do that
i think the best situation would be to unify minor changes, but duplicate for major changes
11:30:05
@goldstein:tty5.devgoldsteinyou can kinda use git tags/branches for versioning11:31:16
@goldstein:tty5.devgoldstein and it feels like somewhat of a norm in the ecosystem, since no one likes when nix flake update breaks stuff 11:31:42
@522_:catgirl.cloud522 it/its ⛯ΘΔ right. so "completely ignore dependency's flake.lock, always use the latest version of a given branch (and record that in your flake.lock)"? 11:34:16
@goldstein:tty5.devgoldstein yeah, basically, except unflake doesn’t call its lock flake.lock
it either locks via npins or writes commit + nar hashes into unflake.nix
11:36:04
@toonn:matrix.orgtoonn Jassuko: That sounds a bit like you want constraint resolution. TBF that is a way more complicated model of dependency specification. 11:43:39
@goldstein:tty5.devgoldstein ideally I want flakes to have semver versions lol
but I believe that “same branch/tag ≈ semver compatible” would probably hold in most cases and we can maybe build escape hatches for when it doesn’t
11:46:14
@goldstein:tty5.devgoldstein (this is already the assumption baked in the widespread practice of writing .follows to avoid duplication) 11:46:52

Show newer messages


Back to Room ListRoom Version: 10