From 4c9a44a83797f8fd2617e546bc0845a3bab22545 Mon Sep 17 00:00:00 2001 From: Skyler Grey Date: Wed, 15 Oct 2025 23:21:19 +0000 Subject: [PATCH] feat(pm/umber): init grocy Change-Id: zoqyltwplryxqptuulosrpxplxlpzssk Grocy is a stock tracking application for groceries. I'd like to use it to keep track of some of my stuff, so let's host it on umber! --- packetmix/systems/umber/grocy.nix | 34 ++++++++++++++++++++ packetmix/systems/umber/grocy/custom_js.html | 27 ++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 packetmix/systems/umber/grocy.nix create mode 100644 packetmix/systems/umber/grocy/custom_js.html diff --git a/packetmix/systems/umber/grocy.nix b/packetmix/systems/umber/grocy.nix new file mode 100644 index 00000000..34070ed8 --- /dev/null +++ b/packetmix/systems/umber/grocy.nix @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2025 FreshlyBakedCake +# +# SPDX-License-Identifier: MIT + +{ pkgs, lib, ... }: +{ + services.grocy = { + enable = true; + package = pkgs.stdenv.mkDerivation { + name = "grocy-custom-js"; + src = pkgs.grocy; + + dontBuild = true; + installPhase = '' + mkdir -p $out/ + cp -r * $out/ + + mkdir -p $out/data/ + cp ${./grocy/custom_js.html} $out/data/custom_js.html # we need to specify the filename explicitly, as otherwise this'll have a hash + ''; + }; + hostName = "grocy.starrysky.fyi"; + + settings.currency = "GBP"; + }; + + services.nginx.virtualHosts."grocy.starrysky.fyi" = { + acmeRoot = null; + forceSSL = lib.mkForce false; + onlySSL = true; + }; + + clicks.storage.impermanence.persist.directories = [ "/var/lib/grocy" ]; +} diff --git a/packetmix/systems/umber/grocy/custom_js.html b/packetmix/systems/umber/grocy/custom_js.html new file mode 100644 index 00000000..c1160ddb --- /dev/null +++ b/packetmix/systems/umber/grocy/custom_js.html @@ -0,0 +1,27 @@ + + + -- 2.43.0