aboutsummaryrefslogtreecommitdiff
path: root/.vim/snippets/module.nix
blob: 1ad9d80bb0c25950cf552ed54e5ee3b25aea8a01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{ pkgs, lib, config, ... }:

let

  service = "";
  cfg = config.services.${service};
  settings = pkgs.formats.json { };

in {

  options.services.${service} = {

    enable = lib.mkOption {
      type = lib.types.bool;
      default = false;
    };

    user = lib.mkOption {
      type = lib.types.str;
      default = service;
    };

    group = lib.mkOption {
      type = lib.types.str;
      default = service;
    };

    settings = lib.mkOption {
      type = settings.type;
      default = { };
    };
  };

  config = lib.mkIf cfg.enable {

    services.${service}.settings = { };

  };
}