-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
crater: init at 4.2.0 #141822
crater: init at 4.2.0 #141822
Conversation
| meta = with lib; { | ||
| # description = ""; | ||
| # license = ; | ||
| # homepage = ""; | ||
| # maintainers = with maintainers; [ ]; | ||
| platforms = platforms.all; | ||
| }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should add this information. From a quick glance seems like:
- Homepage: https://craterapp.com/
- License: https://spdx.org/licenses/AAL.html
- Description: "Free & Open Source Invoice App for Freelancers & Small Businesses" (From GitHub project)
- Maintainers, you should add yourself or someone else as maintainer of this nix expressions.
6a7f998 to
3d7ce76
Compare
|
AAL seems to be missing from https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix, it should be added there. |
3d7ce76 to
ec4547b
Compare
9fae0c2 to
5033456
Compare
5033456 to
4fc9b78
Compare
10889b7 to
345a99f
Compare
Co-authored-by: Techjar <tecknojar@gmail.com> Co-authored-by: Aaron Andersen <aaron@fosslib.net>
Co-authored-by: Techjar <tecknojar@gmail.com> Co-authored-by: Aaron Andersen <aaron@fosslib.net> Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
e373c03 to
eb02ba1
Compare
|
There is an issue with Crater since it stores the path to laravel "storage" in the database. This path resolves to This means that changes to the Despite this, I think the module is in a good working state, and it is as good as it is going to get without radically changing the way the program works. Is it possible that @aanderse could review this? |
|
Very unfortunately, you should probably use the |
|
@aanderse The user can use mysql, in that case this is unfixable. They could be using any database software they want. We can only fix this for sqlite. |
|
As a workaround for the database issue, I currently use the following. It's a script that:
systemd.services.phpfpm-crater.postStart = ''
until [[ -s ${config.services.crater.dataDir}/database.sqlite && $(${pkgs.sqlite}/bin/sqlite3 ${config.services.crater.dataDir}/database.sqlite "select credentials from file_disks;") ]]
do
sleep 1
echo "DATABASE IS BLOODY EMPTY"
done
STORAGE_PUBLIC=`${pkgs.sqlite}/bin/sqlite3 ${config.services.crater.dataDir}/database.sqlite "select credentials from file_disks where id=1;" | ${pkgs.jq}/bin/jq -r | ${pkgs.jq}/bin/jq '.root = "${config.services.crater.dataDir}/storage/app/public"' | ${pkgs.jq}/bin/jq -c`
STORAGE=`${pkgs.sqlite}/bin/sqlite3 ${config.services.crater.dataDir}/database.sqlite "select credentials from file_disks where id=2;" | ${pkgs.jq}/bin/jq -r | ${pkgs.jq}/bin/jq '.root = "${config.services.crater.dataDir}/storage/app"' | ${pkgs.jq}/bin/jq -c`
${pkgs.sqlite}/bin/sqlite3 ${config.services.crater.dataDir}/database.sqlite "UPDATE file_disks SET credentials = '$STORAGE_PUBLIC' where id=1;"
${pkgs.sqlite}/bin/sqlite3 ${config.services.crater.dataDir}/database.sqlite "UPDATE file_disks SET credentials = '$STORAGE' where id=2;"
''; |
This comment was marked as off-topic.
This comment was marked as off-topic.
|
I should probably take a look at this again. I've actually been using |
|
@aanderse I would avoid Crater. It is not the correct way to manage your taxes, or expenses. It will only lead you to accounting troubles, since it is not modelling accounting correctly. Instead, I started using Hledger which correctly models accounting. In addition to Crater making many mistakes regarding accounting, it also has many software engineering mistakes such as the ones we've already discussed and ran into in this thread. Hledger has a web interface that isn't as pretty, that is available in NixOS already via |
|
Trying to update it to the latest version and testing it #200379 |
|
@onny There are bound to be a lot of runtime bugs that you cannot count on discovering, without using the software. It gets worse with each release. |
|
That sounds bad. I'll give it a try and see how it does |
|
Just to be clear, I'm talking about bugs unique to Nix because of the read-only store. And we still do not have a solution to the problem outlined in #141822 (comment) where there are illegal references to the /nix/store being stored in the database. Which is a choice of the program that we can't override without patching the source code. It seems like a lot of time to spend on this (in my view) bad software. |
Thanks for the advice @MatthewCroughan. Fortunately I only use a minimal feature set and don't rely on it for anything which is impacted by what you said. I'll keep it that way now too. 🙇♂️ @onny if you're still set on pushing through with this software I'll try to give this some thought. Let me know. |
Motivation for this change
Note: opening this on behalf of @MatthewCroughan
This adds a NixOS module and package for Crater, an invoicing app. Now Nix (ab)users can finally get paid!
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"./result/bin/)