-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.nix
48 lines (40 loc) · 952 Bytes
/
default.nix
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
40
41
42
43
44
45
46
47
48
{ lib, config, ... }: {
imports = [
./marker.nix
];
options = {
generate.script = lib.mkOption {
type = lib.types.lines;
};
generate.requestParams = lib.mkOption {
type = lib.types.listOf lib.types.str;
};
map = {
zoom = lib.mkOption {
type = lib.types.nullOr lib.types.int;
default = 2;
};
center = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = "switzerland";
};
};
};
config = {
generate.script = ''
map ${lib.concatStringsSep " "
config.generate.requestParams
} | icat
'';
generate.requestParams = [
"size=640x640"
"scale=2"
(lib.mkIf (config.map.zoom != null)
"zoom=${toString config.map.zoom}")
(lib.mkIf (config.map.center != null)
"center=\"$(geocode ${
lib.escapeShellArg config.map.center
})\"")
];
};
}