]> Untitled Git - awful.systems.git/blob - lemmy/dev/default.nix
docs: add database information
[awful.systems.git] / lemmy / dev / default.nix
1 { config, lib, pkgs, pkgs-unstable, lemmy, lemmy-ui, ... }:
2
3 {
4   imports = [ ./module.nix ];
5
6   services.lemmy-dev = {
7     enable = true;
8     server.package =
9       lemmy.packages.${pkgs.stdenv.hostPlatform.system}.lemmy-server;
10     ui.package = lemmy-ui.packages.${pkgs.stdenv.hostPlatform.system}.lemmy-ui;
11     nginx.enable = true;
12     database.createLocally = true;
13
14     settings = {
15       hostname = "making.awful.systems";
16       setup = {
17         admin_username = "self";
18         admin_email = "self@awful.systems";
19         site_name = "a.s dev";
20       };
21       database = {
22         user = "lemmy_dev";
23         database = "lemmy_dev";
24       };
25     };
26   };
27
28   sops.secrets."lemmy-dev/initial_admin_password" = { };
29   sops.secrets."lemmy-dev/smtp_server" = { };
30   sops.secrets."lemmy-dev/smtp_login" = { };
31   sops.secrets."lemmy-dev/smtp_password" = { };
32   sops.secrets."lemmy-dev/smtp_from_address" = { };
33
34   sops.templates.lemmy-dev.content = builtins.toJSON
35     (config.services.lemmy-dev.settings // {
36       setup = config.services.lemmy-dev.settings.setup // {
37         admin_password =
38           config.sops.placeholder."lemmy-dev/initial_admin_password";
39       };
40
41       # email = {
42       #   smtp_server = config.sops.placeholder."lemmy-dev/smtp_server";
43       #   smtp_login = config.sops.placeholder."lemmy-dev/smtp_login";
44       #   smtp_password = config.sops.placeholder."lemmy-dev/smtp_password";
45       #   smtp_from_address = config.sops.placeholder."lemmy-dev/smtp_from_address";
46       #   tls_type = "tls";
47       # };
48     });
49
50   systemd.services.lemmy-dev = {
51     serviceConfig = {
52       User = "lemmy_dev";
53       Group = "lemmy_dev";
54       LoadCredential = "lemmy-dev:${config.sops.templates.lemmy-dev.path}";
55     };
56
57     environment = {
58       LEMMY_CONFIG_LOCATION = lib.mkForce "%d/lemmy-dev";
59       RUST_BACKTRACE = "full";
60       LEMMY_DATABASE_URL = pkgs.lib.mkForce
61         "postgres:///lemmy_dev?host=/run/postgresql&user=lemmy_dev";
62     };
63   };
64
65   networking.firewall.allowedTCPPorts = [ 80 ];
66 }