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
'';
}