I’ve installed Gnucash in my configuration.nix:
environment.systemPackages = [
When using the program, I can open my previously saved file, open reports, and set it up the way I want. The next time I open the program, I lose all my report, setup, etc. Gnucash starts with the new user dialogue. I also cannot change any of the check boxes under the programs preferences.
I’ve tried looking for similar cases online, but have been unable to find anything related to my issue. I’m pretty new to NixOS, but I did try to RTFM, but the site/guide/pills/manual does not seem to have any documentation on this program, but it is possible that I missed it or misunderstood where specifically I should be looking for information.
I don’t like doing this, but I’ve installed it as a flatpak until I can figure out why Gnucash is not working the way I would like natively. Works fine as a flatpak, but I don’t have the system theme this way.
Thanks in advance for any help or thoughts you can provide!
The only thing I can think of that might affect this is enabling dconf, since that might be where gnucash is saving its data. Incidentally, what desktop environment are you using?
Having used gnucash in a previous life, yes I can confirm that it needs dconf.
tejing & emmanuelrosa,
Thanks! I installed dconf and made a note in my configuration.nix that it is required for gnucash. Works perfectly now!
My only other question for you is in regards to learning nix/NixOS. I’ve tried to search through the nixos.org, the manuals, guides, pills, and wiki and didn’t see anything specific to gnucash (and a few other programs I’m working through some minor issues on), but maybe I missed it? And if it is not documented, can I contribute to the wiki as a lay user? I haven’t researched the possibility, just putting it out there if you know. Still pretty fresh to NixOS and learning as I go.
The NixOS wiki used to document this specific issue with Gnucash; It’s how I found the solution back in the day. The NixOS manual has a section with solutions to specific applications. That’s the best place to add documentation regarding Gnucash. The NixOS manual also explains how to contribute to it.
Thanks again emmanuelrosa. I will look into the manual further and contribution guidelines. I didn’t see gnucash in the wiki, but there are many layers and maybe it doesn’t come up under the initial search. Will explore this area more too as there is much to learn.
In practice a large majority of gtk applications require dconf, and dconf is enabled by all (most?) desktop environments. The manual would grow very large if we added a section for each gui application requiring dconf, unfortunately.
Makes sense symphorien, thanks for the help! Working great with dconf!
Shouldn’t dconf be added to buildInputs for gnucash here though because a budgeting program where your transactions aren’t saved isn’t useful?
the dependency is there but adding it to buildInputs does not start the dconf daemon. It’s the dconf-daemon that is not running and that the nixos option enables.
To be clear, transactions are saved, even without dconf. It’s interface options and setup that are not saved.
@tejing @ParetoOptimalDev @symphorien I don’t know if it is the correct process, but I added a comment to gnucash needs dconf · Issue #168205 · NixOS/nixpkgs · GitHub page asking the maintainers if a solution would be to document that dconf should be installed along side gnucash so we could have full saves on the state of tabs/reports/etc. in gnucash. @emmanuelrosa had previously commented on updating the manual in April.
TBH I get easily frustrated with the vast amount of NixOS documentation sites ( nixos.org, the manuals, guides, pills, wiki, nix.dev, etc.), so I have no idea exactly where to document this, but I know I personally go to nixos.org and search for the package first, then the wiki, then I start throwing spaghetti at the wall hoping something sticks by searching the other more academic/theoretic sources.
I feel like this falls under “things you need to know if you don’t use a prepackaged desktop environment”. If you do use one, it’s normally taken care of for you, and if you don’t, there are quite a few things you need to know and set up in order for some applications to work correctly. A notification daemon, for example. Trying to document all of those things is beyond the scope of nixos or nixpkgs, and actually the best resource for it is probably archwiki, as it’s not really nix-specific.
@tejing Agreed. If you search the Arch Wiki or Gnucash’s Wiki, you won’t find anything upfront about dconf, except on the backend: Search results for "dconf" - GnuCash. There was nothing that jumped out to me that it was a necessary requirement to save the state of Gnucash. Also, I had to look it up after this conversation, because there is nothing listed on those two sites that reference it upfront.
From the Arch Wiki:
GnuCash — Financial application that implements a double-entry book-keeping system with features for small business accounting.
https://www.gnucash.org/ || gnucash
Edit: I did find this, which under footnote 6 says dconf should be installed Dependencies - GnuCash, still really hard to find.