!9IQChSjwSHXPPWTa:lix.systems

Lix

1104 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-rooms294 Servers

Load older messages


SenderMessageTime
15 May 2024
@k900:0upti.meK900It turns out if you just let people do stuff, they will generally do cool stuff14:25:49
@mjm:midna.devmjma wild idea14:30:26
@fomosapien:matrix.orgTriskelion changed their display name from Triskelion (AFK) to Triskelion.14:45:55
@dolcetriade:matrix.orgDolceTriadeWill killing flake registries break nix run nixpkgs#foo? I thought that was the source for that?15:45:11
@raitobezarius:matrix.orgraitobezariusNo, we would have a backup solution for that16:09:00
@raitobezarius:matrix.orgraitobezariusin the form of a static registry baked in the binary or something16:09:08
@qyriad:katesiria.orgQyriadNo wait16:14:32
@qyriad:katesiria.orgQyriad We are killing the online flake registry 16:14:45
@mangoiv.:matrix.orgMangoIV Oh nice 16:15:11
@mangoiv.:matrix.orgMangoIV That sounds like a good idea 16:15:20
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)Yes, please kill it16:15:38
@mangoiv.:matrix.orgMangoIV Can we also haz default registries? 16:15:42
@qyriad:katesiria.orgQyriad The user can setup nixpkgs or any other flakeref name to point to wherever they want, but the online registry should die. The static registry baked into the binary is to provide the default experience for people who have no configuration at all, so that things like nix run nixpkgs#foo still work out of the box 16:15:44
@mangoiv.:matrix.orgMangoIV (I’ve used a fork for a while that did that) 16:15:53
@qyriad:katesiria.orgQyriad
In reply to@qyriad:katesiria.org
The user can setup nixpkgs or any other flakeref name to point to wherever they want, but the online registry should die. The static registry baked into the binary is to provide the default experience for people who have no configuration at all, so that things like nix run nixpkgs#foo still work out of the box
Like this kind of default registry? Or do you mean something else?
16:16:14
@mangoiv.:matrix.orgMangoIV
In reply to @mangoiv.:matrix.org
(I’ve used a fork for a while that did that)
basically you register a flake that is called “default” and then if you do nix run hello it will insert default# for you
16:17:02
@mangoiv.:matrix.orgMangoIV Makes adhoc usage a bit nicer 16:17:10
@mangoiv.:matrix.orgMangoIV I don’t know how it collides with the syntax though 16:17:31
@qyriad:katesiria.orgQyriadThat is, ngl, terrifying, but we do see the appeal16:17:40
@qbit:tapenet.org@qbit:tapenet.orghttps://github.com/dramforever/nix-dram/blob/main/nix-patches/nix-flake-default.patch <--16:29:38
@qbit:tapenet.org@qbit:tapenet.orgI too would like something like that16:29:44
@dolcetriade:matrix.orgDolceTriadeMakes sense!16:29:49
@qyriad:katesiria.orgQyriad Oh it's an option hm. Well, feel free to open an issue for default-flake? 16:30:34
@qbit:tapenet.org@qbit:tapenet.org
In reply to @qyriad:katesiria.org
That is, ngl, terrifying, but we do see the appeal
what's terrifying about it? not knowing where a package comes from?
16:30:44
@ma27:nicht-so.sexyma27 given nix build foo, how would this differentiate between nixpkgs#foo and foo being an installable (e.g. a directory in the cwd with a flake.nix inside)? 16:34:11
@qyriad:katesiria.orgQyriad
In reply to@qbit:tapenet.org
what's terrifying about it? not knowing where a package comes from?
Nix (including Lix) has a general problem where a big part of its entire purpose is to avoid implicit state, specifically the combination of those two. We can't avoid state, and lots of things have to happen implicitly, but we should avoid state being implicit unless there is a really really good reason. <nixpkgs> and nixpkgs in the flake registry were both considered to have sufficiently good reason: you need Nixpkgs to do literally anything. But under nix-channel, and with the online flake registry on non-NixOS, both can point to different things depending on context and from behind-the-scenes changes (on NixOS unstable, and the new release, both will point to the system's Nixpkgs thanks to Jade).

Both <> search paths and the flake registry have been rightfully criticized, but their introduction was not without reason: needing to specify a URL, even an abbrevited one like github:NixOS/nixpkgs, any time you need anything would be really fucking annoying. So there are times when implicit state is necessary for usability, but when we do, we need to be very careful when designing it so we don't fall into more traps and create more confusing caveats for users to be aware of
16:37:18
@qyriad:katesiria.orgQyriadDoes that make sense?16:37:22
@qyriad:katesiria.orgQyriad Nix (including Lix) has a general problem where a big part of its entire purpose is to avoid implicit state — specifically the combination of those two. We can't avoid state, and lots of things have to happen implicitly, but we should avoid state being implicit unless there is a really really good reason. <nixpkgs> and nixpkgs in the flake registry were both considered to have sufficiently good reason: you need Nixpkgs to do literally anything. But under nix-channel, and with the online flake registry on non-NixOS, both can point to different things depending on context and from behind-the-scenes changes (on NixOS unstable, and the new release, both will point to the system's Nixpkgs thanks to Jade).

Both <> search paths and the flake registry have been rightfully criticized, but their introduction was not without reason: needing to specify a URL, even an abbrevited one like github:NixOS/nixpkgs, any time you need anything would be really fucking annoying. So there are times when implicit state is necessary for usability, but when we do, we need to be very careful when designing it so we don't fall into more traps and create more confusing caveats for users to be aware of
16:38:04
@strawberry:puppygock.gaystrawberry🍓 (it/pup/she/they) 🏳️‍⚧️ 💜 🦴 (puppygock.gay)(makes sense to me and i barely know or use nix/lix 😇)16:38:51
@qbit:tapenet.org@qbit:tapenet.orgmakes sense! thanks for the explanation :D16:39:18

Show newer messages


Back to Room ListRoom Version: 10