Grocy Grocy is a web-based self-hosted groceries & household management solution for your home.
Basic usage A very basic configuration may look like this: { pkgs, ... }: { services.grocy = { enable = true; hostName = "grocy.tld"; }; } This configures a simple vhost using nginx which listens to grocy.tld with fully configured ACME/LE (this can be disabled by setting services.grocy.nginx.enableSSL to false). After the initial setup the credentials admin:admin can be used to login. The application's state is persisted at /var/lib/grocy/grocy.db in a sqlite3 database. The migration is applied when requesting the /-route of the application.
Settings The configuration for grocy is located at /etc/grocy/config.php. By default, the following settings can be defined in the NixOS-configuration: { pkgs, ... }: { services.grocy.settings = { # The default currency in the system for invoices etc. # Please note that exchange rates aren't taken into account, this # is just the setting for what's shown in the frontend. currency = "EUR"; # The display language (and locale configuration) for grocy. culture = "de"; calendar = { # Whether or not to show the week-numbers # in the calendar. showWeekNumber = true; # Index of the first day to be shown in the calendar (0=Sunday, 1=Monday, # 2=Tuesday and so on). firstDayOfWeek = 2; }; }; } If you want to alter the configuration file on your own, you can do this manually with an expression like this: { lib, ... }: { environment.etc."grocy/config.php".text = lib.mkAfter '' // Arbitrary PHP code in grocy's configuration file ''; }