I am new to Nix, though I think I get the philosophy.
My setup (but that should not matter too much): Mac OS with Nix flake, one profile to control my whole system (just one user, using home manager). All nix files in git.
As I understand Nix’s philosophy, every change on the system should be controlled/done with the nix configuration, so that it is repeatable.
Only when using this one get’s how great this is
However, some tools, even though having configuration files, make it very hard to do any change outside of the tool.
For example, Logseq’s plugin settings. They can be changed in Logseq’s UI with buttons and sliders - but when the plugin.edn file is managed by nix (and thus a symlink) Logseq complains that it can’t write and the change is not happening. So far so normal - but I don’t see what changes to make to the plugin.edn file via nix.
I wonder how this is handled usually? One is just supposed to know the relevant key-value pairs of a plugin’s developer?
Is there a way so that the tool can write to a file, which is controlled by nix? Thus I could see the delta via git and apply the changes to the nix configuration.
Or is there even a better way to handle this situation?
Or is “control everything via nix” not the right way? Is it in especially MacOS more “control what you can”? (Though Logseq and my problem with it is not MacOS specific.)
I could control the config files by git only - having them on their tool’s original place, and completely unknown to nix. On a Mac, this would work for installing apps as well, which would version-controlled by git as well. But that sounds like a poor-man’s nix, which might lead to problems nix solved already. Or not?
I am grateful for any hint