diff --git a/nixos-module.nix b/nixos-module.nix index 14a3256..76ed1b3 100644 --- a/nixos-module.nix +++ b/nixos-module.nix @@ -3,6 +3,52 @@ let yammat = import ./. { inherit pkgs; }; cfg = config.services.yammat; + defaultConfig = '' + # Values formatted like "_env:ENV_VAR_NAME:default_value" can be overridden by the specified environment variable. + # See https://github.com/yesodweb/yesod/wiki/Configuration#overriding-configuration-values-with-environment-variables + + static-dir: "_env:STATIC_DIR:static" + host: "_env:HOST:*4" # any IPv4 host + port: "_env:PORT:3000" + approot: "_env:APPROOT:http://localhost:3000" + ip-from-header: "_env:IP_FROM_HEADER:false" + + # Optional values with the following production defaults. + # In development, they default to the inverse. + # + # development: false + # detailed-logging: false + # should-log-all: false + # reload-templates: false + # mutable-static: false + # skip-combining: false + + database: + user: "_env:PGUSER:yammat" + password: "_env:PGPASS:yammat" + host: "_env:PGHOST:localhost" + port: "_env:PGPORT:5432" + database: "_env:PGDATABASE:yammat" + poolsize: "_env:PGPOOLSIZE:10" + + email: + - "nek0@momen" + currency: "€" + cash_charge: 50 + + copyright: "Powered by YAMMAT" + copyright_link: "https://github.com/nek0/yammat" + + block_users: false + + sendmail-location: "/usr/sbin/sendmail" + from-mail: "matemat@matemat.hq.c3d2.de" + + # optional administrative credentials. + # credentials: + # login: "admin" + # password: "password" + ''; in { options.services.yammat = with lib; { @@ -18,6 +64,14 @@ in default = "yammat"; description = "System group to run Yammat"; }; + + config = mkOption { + type = types.lines + example = '' + ${defaultConfig} + ''; + description = "Configuration for Yammat"; + }; }; config = lib.mkIf cfg.enable { @@ -55,5 +109,10 @@ in ExecStart = "${yammat}/bin/yammat"; }; }; + + environment.etc."yammat.yml" = { + enable = true; + text = cfg.config; + }; }; }