| 29 Jun 2025 |
emily | that one does not need special patching | 16:50:42 |
hexa (clat on linux when) | but in general more stuff should be looked up from the path | 16:50:45 |
emily | it seems like most of it comes for free just by patching their main function | 16:50:47 |
hexa (clat on linux when) | * but in general more stuff should be looked up from the path at runtime | 16:50:52 |
emily | but the firewall stuff, no | 16:50:56 |
hexa (clat on linux when) | like … when firewalling is enabled you have the ipt or nft executables in the path already | 16:51:43 |
hexa (clat on linux when) | so just pick those | 16:51:45 |
emily | I agree that late-binding is not the devil fwiw | 16:52:36 |
emily | but that's an argument to have with upstream re: NFT_PATH | 16:53:00 |
emily | and in the meantime it doesn't matter | 16:53:10 |
emily | (but I think we agree on this) | 16:53:12 |
hexa (clat on linux when) |
nmcli or nmtui tools pull in the NetworkManager library and use those functions to search for binaries. If you then, for example, add an openconnect VPN and try to connect, they will search for the openconnect binary in their PATH as well.
| 16:54:03 |
hexa (clat on linux when) | I added openconnect as a system package because of that remark | 16:54:16 |
emily | tbh, the OpenConnect thing probably should actually be a separate option at that point | 16:54:54 |
emily | since it is doing more system integration than… adding an item to a list | 16:55:11 |
hexa (clat on linux when) | nah, nm is just instrumenting the vpn binary | 16:55:39 |
hexa (clat on linux when) | I think that's fine | 16:55:46 |
emily | well I mean vs. pname conditionals | 16:55:55 |
hexa (clat on linux when) | install the plugin and you get the executable for free | 16:55:56 |
emily | "system package gets added based on pname of something in the plugins option of another package's module" is not within expected behaviour for me | 16:56:28 |
emily | well | 16:56:30 |
hexa (clat on linux when) | yeah, this is a minimal approach to make it work | 16:56:32 |
emily | ok I expect NixOS modules to do arbitrarily horrible things | 16:56:35 |
hexa (clat on linux when) | you add the plugin and we make sure it just works | 16:56:49 |
emily | if adding a package with a certain name disabled the firewall I'd probably just shrug :) | 16:56:51 |
emily | yeah, but then you switch to your own packaging of networkmanager-openconnect-neo-fork and it stops working suddenly and it's spooky at a distance to find out why | 16:57:18 |
hexa (clat on linux when) | we could add a withOpenConnect option to more clearly state what we're doing | 16:57:22 |
emily | which services.networkmanager.openconnect.enable wouldn't cause because you'd know there's integration going on | 16:57:34 |
hexa (clat on linux when) | but I'm not a fan of having too many options for stuff like that | 16:57:44 |
hexa (clat on linux when) | hence removing the enableStrongSwan option … that among other things puts the plugin into the plugin list | 16:57:57 |