| 19 Jan 2025 |
emily | but yeah not worth it | 03:28:49 |
emily | would be nice if they just let you turn on case-sensitivity after the fact. | 03:29:27 |
jade_ | i can see the idea of spending a day writing a script to do the nix copy and then mount point switcheroo, but not much more than that personally; maybe someone with more desire to do darwin could | 03:29:33 |
jade_ | i think the reason it's not a thing is that it affects the hashtables on disk | 03:29:42 |
jade_ | wait a sec, can you copy_file_range or whatever macOS equivalent across APFS containers? | 03:29:57 |
jade_ | ie. can we just "lol CoW the contents" | 03:30:08 |
emily | I think no. would be cool though. | 03:30:21 |
emily | not sure. | 03:30:29 |
jade_ | (aside from that it would be an implementation headache anyway since it would have to be custom and also deal with casehack :/ running through nar as an intermediary is safest) | 03:30:56 |
emily | anyway probably any mild amount of migration pain is worth getting rid of case hack | 03:31:03 |
jade_ | oh YEAH that's a bug isn't it | 03:31:10 |
jade_ | nix does not detect whether it is on a case sensitive volume and just turns on casehack based on platform | 03:31:25 |
emily | uh, really? | 03:31:53 |
jade_ | yUP | 03:31:57 |
jade_ | i just checked | 03:32:00 |
jade_ | it's an ifdef in lix at least | 03:32:04 |
jade_ | you can override with use-case-hack, but that's jacked! | 03:32:18 |
jade_ | * you can override with use-case-hack, but it's jacked by default! | 03:32:26 |
emily | great. guess all this setup was for nothing | 03:33:04 |
jade_ | sorry :( I only synthesized this from things I knew, today | 03:33:39 |
emily | profiles/darwin/case-sensitive.nix
2: nix.settings.use-case-hack = false;
never mind, life is wonderful
| 03:33:43 |
jade_ | wait a minute, another bug: case hack is entirely global (lol lmao), so you cannot have different stores with different case hack settings if you are trying to fix this
this has somewhat horrifying implications for NAR handling on CppNix on macOS | 03:36:46 |
jade_ | (since Lix bans case hack filenames from NARs outright) | 03:36:57 |
jade_ | hm. maybe. unsure. | 03:37:28 |
jade_ | i think where im thinking about this is that it's going to case hack things on remote stores, but that probably doesn't actually happen | 03:37:52 |
emily | you're worried about say, chroot stores on the main system volume? | 03:38:08 |
jade_ | yea, for instance | 03:38:16 |
jade_ | or if you are trying to use nix copy to migrate a store rather than explicitly running through nix-store --export | 03:38:32 |
jade_ | https://git.lix.systems/lix-project/lix/issues/628 anyway, bug filed for not detecting it | 03:40:15 |
jade_ | yeah i think that nix store ls might case hack its output lmao | 03:46:28 |