You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now, wpa_supplicant appears to do a rename when writing changes to the config which is state I'd like to keep.
A similar issue also exists for ~/.local/share/recently-used.xbel or .gdbinit.
This doesn't work if only the file is persisted (i.e. bind-mounted) since a rename fails with EBUSY in that case.
There are two kinds of workarounds:
use symlinks (with Allow for symlinking files #146): works for a few applications, e.g. gdb. But GTK (for recently-used.xbel) and wpa_supplicant replace the symlink with a file then.
patch around in the NixOS module to use another config file. For wpa_supplicant that was my fix (Ma27/nixpkgs@d90b3eb, note: I use allowAuxiliaryImperativeNetworks). Now I can persist /etc/wpa_supplicant[1] and the move inside works fine. This however is not feasible for recently-used.xbel which seems to be backed into GTK and would cause an excessive amount of rebuilds for me (and I don't really want to use libredirect for ~everything on my desktop).
What I'm wondering is, is there any feasible, generic way that doesn't require us to find solutions per-application?
If so, we may want to consider adding those as another alternative into impermanence.
This isn't optimal, but I think it would work in this situation. If using btrfs subvolumes, on boot (or at least before a lot of services start), you could copy the file into your /persist location, and then copy that over to the actual location.
Suppose you have a configuration like this:
Now,
wpa_supplicant
appears to do a rename when writing changes to the config which is state I'd like to keep.A similar issue also exists for
~/.local/share/recently-used.xbel
or.gdbinit
.This doesn't work if only the file is persisted (i.e. bind-mounted) since a rename fails with EBUSY in that case.
There are two kinds of workarounds:
gdb
. But GTK (forrecently-used.xbel
) and wpa_supplicant replace the symlink with a file then.wpa_supplicant
that was my fix (Ma27/nixpkgs@d90b3eb, note: I useallowAuxiliaryImperativeNetworks
). Now I can persist/etc/wpa_supplicant
[1] and the move inside works fine. This however is not feasible forrecently-used.xbel
which seems to be backed into GTK and would cause an excessive amount of rebuilds for me (and I don't really want to use libredirect for ~everything on my desktop).What I'm wondering is, is there any feasible, generic way that doesn't require us to find solutions per-application?
If so, we may want to consider adding those as another alternative into impermanence.
[1] https://docs.gtk.org/gtk4/property.Settings.gtk-recent-files-enabled.html
The text was updated successfully, but these errors were encountered: