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