<@james:fedora.im>
16:00:59
!startmeeting fpc
<@meetbot:fedora.im>
16:01:01
Meeting started at 2024-06-20 16:00:59 UTC
<@meetbot:fedora.im>
16:01:01
The Meeting name is 'fpc'
<@james:fedora.im>
16:01:07
!topic Roll Call
<@james:fedora.im>
16:01:46
!hi
<@zodbot:fedora.im>
16:01:47
James Antill (james)
<@carlwgeorge:matrix.org>
16:02:30
!hi
<@zodbot:fedora.im>
16:02:34
Carl George (carlwgeorge) - he / him / his
<@nhanlon:beeper.com>
16:05:12
!hi
<@zodbot:fedora.im>
16:05:13
Neil Hanlon (neil) - he / him / his
<@james:fedora.im>
16:06:25
Carl George: How much do you not want to comment on issue 1373?
<@carlwgeorge:matrix.org>
16:07:34
🤯
<@decathorpe:fedora.im>
16:08:37
!hi
<@zodbot:fedora.im>
16:08:38
Fabio Valentini (decathorpe) - he / him / his
<@conan_kudo:matrix.org>
16:09:27
!hi
<@zodbot:fedora.im>
16:09:28
Neal Gompa (ngompa) - he / him / his
<@decathorpe:fedora.im>
16:12:04
fwiw I don't understand the hype around nix
<@decathorpe:fedora.im>
16:12:20
maybe I reached "old man yelling at clod" stage of my life though
<@carlwgeorge:matrix.org>
16:12:57
same
<@carlwgeorge:matrix.org>
16:13:32
regardless, people do love it, and it would be beneficial to them to be able to `dnf install nix`
<@decathorpe:fedora.im>
16:14:02
true. better than curl | bash
<@decathorpe:fedora.im>
16:14:23
or whatever you need to do to get it
<@conan_kudo:matrix.org>
16:14:28
I'd really like to know if it really is that difficult to move `/nix` to `/var/nix`
<@jsteffan:fedora.im>
16:14:28
!hi
<@carlwgeorge:matrix.org>
16:14:29
i think i'm ok with an exception to let it have `/nix`. the other suggestions in the issue don't seem worth it if we're just gonna bind mount it to `/nix` anyways.
<@zodbot:fedora.im>
16:14:30
Jonathan Steffan (jsteffan)
<@conan_kudo:matrix.org>
16:14:54
because the last time we had this discussion was over `/snap`
<@conan_kudo:matrix.org>
16:15:01
and frankly, the same arguments kind of apply
<@carlwgeorge:matrix.org>
16:15:23
what was the outcome for snaps?
<@conan_kudo:matrix.org>
16:15:45
`/snap` was banned and snapd changed to use a subdir in `/var`
<@conan_kudo:matrix.org>
16:16:20
`/var/lib/snapd/snap` was what was picked
<@decathorpe:fedora.im>
16:16:24
nix packages that hard-code paths in /nix/store is going to be a problem
<@decathorpe:fedora.im>
16:16:34
not sure if that was a problem for snap too?
<@conan_kudo:matrix.org>
16:16:58
it's a union mount of squashfs images in their own mount namespace
<@conan_kudo:matrix.org>
16:17:05
they don't actually see anything
<@conan_kudo:matrix.org>
16:17:24
only "classic" snaps need `/snap` and a symlink does fine for that
<@conan_kudo:matrix.org>
16:17:34
but those types of snaps are supposed to be rare
<@james:fedora.im>
16:18:02
Anyone have a guess if /nix could work on ostree?
<@conan_kudo:matrix.org>
16:18:36
I believe no
<@conan_kudo:matrix.org>
16:18:46
same reason classic snaps don't work either
<@conan_kudo:matrix.org>
16:18:56
top level mount is a no-no
<@decathorpe:fedora.im>
16:19:52
well isn't that ironic 🎶
<@james:fedora.im>
16:19:56
Yeh, my assumption is it doesn't work now ... was just wondering if it was even plausible it might be made to work?
<@conan_kudo:matrix.org>
16:20:20
or rather new FHS dirs breaks things for rpm-ostree (which is ironic since it forces `/sysroot` itself)
<@conan_kudo:matrix.org>
16:20:29
and nobody ever asked us about that :/
<@james:fedora.im>
16:21:25
Not that Colin deserves it, but a significant part of me would be fine just pointing at ostree and saying it's not possible.
<@decathorpe:fedora.im>
16:22:15
yeah ... rpm-ostree limitations are not a good reason to *not* do something that works in other environments
<@james:fedora.im>
16:22:45
It's well known that all the cool kids want tar files now, our fault for choosing cpio files ... we should have known what would be cooler.
<@conan_kudo:matrix.org>
16:22:49
but looking briefly at nix, it seems the nix store location is configurable
<@conan_kudo:matrix.org>
16:23:26
and if some nix files don't handle that properly, I would probably suspect that's an error on their part
<@conan_kudo:matrix.org>
16:23:41
(to clarify, build-time configurable, not runtime configurable)
<@james:fedora.im>
16:23:53
I read parts of the thread posted ... and it looks like people have changed the location ... it just makes it incompatible with the "normal nix" packages. But I'm a little confused about how that works anyway.
<@carlwgeorge:matrix.org>
16:24:28
a packaged nix command that is incompatible with most nix packages that are out there doesn't seem very useful
<@decathorpe:fedora.im>
16:25:42
right ... if you'd need to patch or recompile stuff you lose most of what makes it interesting
<@james:fedora.im>
16:26:46
So ... it's been a long time and I might be confused, but ... AIUI if you use "normal" nix to install things on Fedora, it's not going to use any of Fedora. Eg. you'll get an extra copy of glibc/fileutils/etc. which are the nix deps versions?
<@conan_kudo:matrix.org>
16:27:18
well, kind of?
<@conan_kudo:matrix.org>
16:27:48
unless it's all compiled and RPATH linked correctly (and not all nix stuff is), it can use system stuff
<@conan_kudo:matrix.org>
16:28:40
and Nix can be useful even in the case where you're not using it to use cached binary builds of nixpkgs, because it essentially composes something for you (whether that's an application, an image, an RPM, or something else)
<@james:fedora.im>
16:30:56
I guess I'm just a bit confused about what they want to do, and how they want it to act. Is "yum install nix" just a better way of starting than "curl -L https://nixos.org/nix/install | sh" ... but everything after that will be the same?
<@nhanlon:beeper.com>
16:30:56
right. setting up a whole development environment is also a common use
<@carlwgeorge:matrix.org>
16:32:01
we could say it's better to live in a copr until the upstream makes a final decision on the relocation?
<@conan_kudo:matrix.org>
16:32:59
well, the thing is, nix packages aren't supposed to be dependent on a particular store location
<@conan_kudo:matrix.org>
16:33:15
https://nix.dev/manual/nix/2.22/store/types/
<@carlwgeorge:matrix.org>
16:33:34
seems they are though, based on the comment in the issue
<@james:fedora.im>
16:33:39
Eh, I feel like if that's our only concern then we should say that and it will help upstream ... but if we aren't going to allow it anyway then we should state that before they do a bunch of work that won't help them.
<@conan_kudo:matrix.org>
16:34:03
I'm not in favor of allowing `/nix`
<@carlwgeorge:matrix.org>
16:35:09
considering that we defacto allow `/sysroot` for rpm-ostree (even if they never asked), it might be perceived negatively if we don't allow `/nix`
<@conan_kudo:matrix.org>
16:35:31
by that token we'd need to reverse `/snap`
<@conan_kudo:matrix.org>
16:35:39
and allow it too
<@carlwgeorge:matrix.org>
16:35:53
ok
<@carlwgeorge:matrix.org>
16:35:55
at the end of the day, allowing `/nix` doesn't hurt anything
<@conan_kudo:matrix.org>
16:36:08
well, it breaks rpm-ostree
<@conan_kudo:matrix.org>
16:36:18
the nix package can never be installed on rpm-ostree systems
<@conan_kudo:matrix.org>
16:36:22
nor composed in it
<@conan_kudo:matrix.org>
16:36:35
so far, we have bent over backwards to ensure we don't do that
<@carlwgeorge:matrix.org>
16:36:54
for everyday run of the mill packages, following fhs is good hygiene, but for ecosystem stuff like this exceptions make sense to me
<@conan_kudo:matrix.org>
16:36:56
that's why we aren't even allowed to use Lua scripts in systemd and have horrible bash ports
<@james:fedora.im>
16:37:03
And I assume that also affects silverblue and bootc/etc.
<@conan_kudo:matrix.org>
16:37:09
yes
<@conan_kudo:matrix.org>
16:37:15
at least for the near future
<@conan_kudo:matrix.org>
16:37:33
bootc will eventually not require /sysroot
<@conan_kudo:matrix.org>
16:37:36
since there's no ostree involved
<@conan_kudo:matrix.org>
16:37:52
since rpm-ostree will be phased out for bootc, it's a non-issue long-term
<@carlwgeorge:matrix.org>
16:38:17
we could ask some of the ostree folks to comment on the issue from their perspective to gather more data before a decision
<@conan_kudo:matrix.org>
16:39:13
I'd rather ask the Nix people to consider moving the default nix store to `/var/nix` or ask them whether they consider a nixpkg broken in an alternate store location a bug or not
<@conan_kudo:matrix.org>
16:39:38
because based on the documentation it should be at least the latter
<@conan_kudo:matrix.org>
16:40:03
and if that's true, then ecosystem or not, bad packages are not a good enough reason to allow it
<@carlwgeorge:matrix.org>
16:41:51
i guess file it as a bug and see if they close it wontfix or not
<@conan_kudo:matrix.org>
16:42:51
I'd hope they wouldn't, because they already support alternative nix store locations for global and per-user locations
<@carlwgeorge:matrix.org>
16:44:29
what you're saying seems to conflict with what egoode put in the issue
<@conan_kudo:matrix.org>
16:45:26
my understanding is that Nix is fundamentally source based with a binary cache system
<@conan_kudo:matrix.org>
16:46:01
so the main issue with changing it without getting upstream to agree to change it too is that their cache is invalidated unless Nix gets handling to transpose it
<@james:fedora.im>
16:47:34
From the linked thread, I understand that it's impossible to handle a change without recompiling packages.
<@conan_kudo:matrix.org>
16:48:26
it looks like upstream Nix has been actively discussing the problem for a while
<@conan_kudo:matrix.org>
16:49:47
one of the most recent discussions: https://github.com/NixOS/nix/issues/9549
<@carlwgeorge:matrix.org>
16:52:06
hardcoding the store path rather than having it be configurable seems like a pretty big design flaw to me
<@carlwgeorge:matrix.org>
16:52:53
since we're running out of time, and we don't seem to be anywhere close to a decision on this, should we call it for now?
<@conan_kudo:matrix.org>
16:54:06
there is an RFC to move it to `/var/lib/nix` seemingly: https://github.com/NixOS/rfcs/pull/17#issuecomment-629776797
<@conan_kudo:matrix.org>
16:54:41
I think it might make sense for one of us (I can do it) to go and talk to Nix people upstream
<@james:fedora.im>
16:54:58
Yeh, although I will also mention that while nix has been around for a long time now ... you might be surprised what rust-nix-devel does.
<@james:fedora.im>
16:55:33
I think if you are volunteering, you are the only one ;)
<@conan_kudo:matrix.org>
16:55:48
there's a fair bit of threads all over discussing moving out of `/nix`
<@conan_kudo:matrix.org>
16:55:57
it breaks macOS, it breaks Atomic Fedora, etc.
<@conan_kudo:matrix.org>
16:56:11
(those are two explicitly called out examples, but I know of more, like openSUSE MicroOS)
<@conan_kudo:matrix.org>
16:56:37
heh
<@conan_kudo:matrix.org>
16:56:59
the hungry, tired, and worn state of post-conference leads to weird stream of consciousness
<@james:fedora.im>
16:58:05
That's fair ... I shouldn't give you a timed exam on guessing what the package described as "Python bindings for NIX" does then?
<@conan_kudo:matrix.org>
16:58:55
lol
<@james:fedora.im>
16:59:10
!endmeeting