2023-11-12 15:07:41 +01:00
|
|
|
|
# Edit this configuration file to define what should be installed on
|
|
|
|
|
# your system. Help is available in the configuration.nix(5) man page
|
|
|
|
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
|
|
|
|
2023-11-13 17:39:02 +01:00
|
|
|
|
{ config, pkgs, ... }:
|
2023-11-12 15:07:41 +01:00
|
|
|
|
let vs = config.vault-secrets.secrets;
|
|
|
|
|
in {
|
|
|
|
|
imports = [ ];
|
|
|
|
|
|
|
|
|
|
# This value determines the NixOS release from which the default
|
|
|
|
|
# settings for stateful data, like file locations and database versions
|
|
|
|
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
|
|
|
|
# this value at the release version of the first install of this system.
|
|
|
|
|
# Before changing this value read the documentation for this option
|
|
|
|
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
|
|
|
system.stateVersion = "23.11"; # Did you read the comment?
|
|
|
|
|
networking.firewall.allowedTCPPorts = [ 8484 ];
|
|
|
|
|
|
2023-11-13 17:39:02 +01:00
|
|
|
|
environment.systemPackages = with pkgs; [ sqlite ];
|
2023-11-13 17:39:38 +01:00
|
|
|
|
virtualisation = {
|
|
|
|
|
|
2023-12-23 12:46:35 +01:00
|
|
|
|
podman = {
|
|
|
|
|
enable = true;
|
|
|
|
|
defaultNetwork.settings = {
|
|
|
|
|
"subnets" = [{
|
|
|
|
|
subnet = "10.88.0.0/16";
|
|
|
|
|
gateway = "10.88.0.1";
|
|
|
|
|
}];
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-11-13 17:39:38 +01:00
|
|
|
|
oci-containers.backend = "podman";
|
|
|
|
|
|
|
|
|
|
oci-containers.containers.grist = {
|
2023-12-23 12:46:35 +01:00
|
|
|
|
image = "gristlabs/grist:1.1.9";
|
2023-11-13 17:39:38 +01:00
|
|
|
|
environment = {
|
|
|
|
|
APP_HOME_URL = "https://grist.0x76.dev";
|
|
|
|
|
GRIST_SUPPORT_ANON = "false";
|
|
|
|
|
GRIST_FORCE_LOGIN = "true";
|
|
|
|
|
GRIST_SINGLE_ORG = "xirion";
|
|
|
|
|
GRIST_ORG_IN_PATH = "false";
|
|
|
|
|
GRIST_DEFAULT_EMAIL = "v@0x76.dev"; # Defines admin user
|
|
|
|
|
GRIST_HIDE_UI_ELEMENTS =
|
|
|
|
|
"helpCenter,billing,templates,multiSite,multiAccounts";
|
|
|
|
|
GRIST_TELEMETRY_LEVEL = "off";
|
|
|
|
|
GRIST_WIDGET_LIST_URL =
|
|
|
|
|
"https://github.com/gristlabs/grist-widget/releases/download/latest/manifest.json";
|
|
|
|
|
|
|
|
|
|
# No Python 2
|
|
|
|
|
PYTHON_VERSION = "3";
|
|
|
|
|
PYTHON_VERSION_ON_CREATION = "3";
|
|
|
|
|
|
|
|
|
|
GRIST_OIDC_IDP_ISSUER = "https://dex.0x76.dev";
|
2023-12-23 12:46:35 +01:00
|
|
|
|
GRIST_OIDC_IDP_SKIP_END_SESSION_ENDPOINT = "true";
|
2023-11-13 17:39:38 +01:00
|
|
|
|
};
|
|
|
|
|
environmentFiles = [ "${vs.grist}/environment" ];
|
|
|
|
|
ports = [ "8484:8484" ];
|
|
|
|
|
volumes = [ "/var/lib/grist:/persist" ];
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-11-12 15:07:41 +01:00
|
|
|
|
|
|
|
|
|
vault-secrets.secrets.grist = {
|
|
|
|
|
quoteEnvironmentValues = false; # Needed for docker
|
|
|
|
|
services = [ "podman-grist" ];
|
|
|
|
|
};
|
|
|
|
|
}
|