| 24 Oct 2025 |
Sofie 🏳️⚧️ (she/her) | this was to an remove rpi | 14:30:46 |
K900 | Because we only have forward pipe | 14:33:23 |
K900 | No reverse pipe | 14:33:27 |
Sofie 🏳️⚧️ (she/her) | * | 14:59:33 |
Sofie 🏳️⚧️ (she/her) | is this expected? | 15:42:39 |
K900 | No | 15:51:18 |
piegames | In reply to @k900:0upti.me Because we only have forward pipe That's half-true. Because CppNix did not look at the Lix implementation when doing it | 16:29:23 |
piegames | We currently have a backpipe operator, but it is not guaranteed to stay | 16:29:50 |
daylin | is it likely the "forward" operator will stay? I like it very much and would be sad to see it go | 17:26:56 |
piegames | Yes | 17:28:36 |
lillecarl | I talked to Rickard from nixbuild.net and we were discussing GC, I mentioned my idea for time based GC using the registrationtime field of the database (and keeping it up2date) and he said that they're doing something like that at nixbuild (but more elaborate with ownership tracking and $stuff). What's Lix stance on db.sqlite schema changes? I imagine it's hard to get a new field added to ValidPaths table, it would be really nice to track when something was last required (including with "nix copy"), then nix-serve(ng) and a normal NixOS box really ticks all boxes for a good LRU cache solution OOTB | 22:37:15 |
lillecarl | https://github.com/NixOS/nix/issues/7572 I'm not the first person to have this idea, hehe | 23:04:44 |
hexa | if it exists, there is a store path for it | 23:10:29 |
hexa | or something like that | 23:10:41 |
hexa | I'm not an expert | 23:10:43 |
522 it/its ⛯ΘΔ | tbh i do feel that's better solved outside of the nix impl itself, at least in terms of "you don't need to change the GC" | 23:12:17 |
522 it/its ⛯ΘΔ | like: i have my direnv set to make gcroots in .cache, so they aren't removed until i explicitly delete that directory | 23:12:40 |
522 it/its ⛯ΘΔ | perhaps something similar can be done for "transient" paths like nix run nixpkgs#meowmeowmeow | 23:13:19 |
522 it/its ⛯ΘΔ | (that way, you can distinguish, in "userspace" (as opposed to in nix), between stuff that you want kept around and stuff that you don't actually care about) | 23:14:07 |
lillecarl | 522 it/its ⛯ΘΔ: What I'm asking for is an extra field which is automatically updated by Lix whenever a path is referenced somehow, if it's from "nix build" or "nix copy" or any other operation | 23:15:45 |
522 it/its ⛯ΘΔ | i used to run my gc daily and made some changes to my system in order to make that less annoying (explicitly considering flake inputs as system dependencies so they're kept, so a nix-store --gc ; nixos-rebuild build works even with no internet access) | 23:15:47 |
lillecarl | Once I have that metadata available I can build the GC myself, np | 23:15:59 |
522 it/its ⛯ΘΔ | you'd be unable to use the nix GC then, no?
if you have dead store paths that you want to keep around
unless you're making/deleting gcroots for them automatically | 23:17:02 |
lillecarl | But now I have to run "nix build && nix-touch" or "nix copy && nix-touch" where nix-touch is a program I've written that updates registrationtime of packages, which works but is | 23:17:27 |
lillecarl | Yeah I'd just never use the GC, I would use nix-store --gc --print-dead and query the database for when they were last referenced, then call "nix-store --delete" | 23:18:16 |
lillecarl | This is not very useful for a single machine/configuration workflow, it's useful when you're building a binary cache where you never install anything into gcroots | 23:19:48 |
lillecarl | (And I have to operate on db.sqlite myself, which is... "scary") | 23:20:59 |
lillecarl | (And it suxx a bit since updating registrationtime isn't possible without superduper permissions) so I have to do setup sudoers to trust nix-touch and execute as root) | 23:25:20 |
lillecarl | * (And it suxx a bit since updating registrationtime isn't possible without superduper permissions) so I have to do setup sudoers to trust nix-touch and execute as root | 23:25:26 |
lillecarl | * (And it suxx a bit since updating registrationtime isn't possible without superduper permissions so I have to do setup sudoers to trust nix-touch and execute as root) | 23:31:35 |