]> Untitled Git - MarigoldOS/.git/blob - modules/charm.nix
Fix up charm module and profile.
[MarigoldOS/.git] / modules / charm.nix
1 { config, pkgs, lib, ... }:
2 let
3   cfg = config.services.charm;
4 in {
5   options.services.charm = {
6     enable = lib.mkEnableOption "Charm cloud server";
7   };
8   config = lib.mkIf cfg.enable {
9     systemd.services.charm = {
10       wantedBy = [ "multi-user.target" ];
11       after = [ "network.target" ];
12       description = "The Cloud";
13       serviceConfig = {
14         DynamicUser = true;
15         ExecStart = ''${pkgs.charm}/bin/charm serve'';
16         Restart = "always";
17         Type = "simple";
18         RestartSec = 1;
19         Environment = {
20           # TODO: Expand module a bit
21           # https://github.com/charmbracelet/charm#server-settings
22           CHARM_SERVER_DATA_DIR = "/var/lib/charm";
23           # CHARM_SERVER_USER_MAX_STORAGE = "";
24         };
25         StateDirectory = "charm";
26         WorkingDirectory = "/var/lib/charm";
27       };
28     };
29   };
30 }