1# This module defines the global list of uids and gids. We keep a
2# central list to prevent id collisions.
3
4{ config, pkgs, lib, ... }:
5
6{
7 options = {
8
9 ids.uids = lib.mkOption {
10 internal = true;
11 description = ''
12 The user IDs used in NixOS.
13 '';
14 };
15
16 ids.gids = lib.mkOption {
17 internal = true;
18 description = ''
19 The group IDs used in NixOS.
20 '';
21 };
22
23 };
24
25
26 config = {
27
28 ids.uids = {
29 root = 0;
30 #wheel = 1; # unused
31 #kmem = 2; # unused
32 #tty = 3; # unused
33 messagebus = 4; # D-Bus
34 haldaemon = 5;
35 #disk = 6; # unused
36 vsftpd = 7;
37 ftp = 8;
38 bitlbee = 9;
39 avahi = 10;
40 nagios = 11;
41 atd = 12;
42 postfix = 13;
43 #postdrop = 14; # unused
44 dovecot = 15;
45 tomcat = 16;
46 #audio = 17; # unused
47 #floppy = 18; # unused
48 #uucp = 19; # unused
49 #lp = 20; # unused
50 #proc = 21; # unused
51 pulseaudio = 22; # must match `pulseaudio' GID
52 gpsd = 23;
53 #cdrom = 24; # unused
54 #tape = 25; # unused
55 #video = 26; # unused
56 #dialout = 27; # unused
57 polkituser = 28;
58 #utmp = 29; # unused
59 ddclient = 30;
60 davfs2 = 31;
61 #disnix = 33; # unused
62 osgi = 34;
63 tor = 35;
64 cups = 36;
65 foldingathome = 37;
66 sabnzbd = 38;
67 #kdm = 39; # dropped in 17.03
68 ghostone = 40;
69 git = 41;
70 fourstore = 42;
71 fourstorehttp = 43;
72 virtuoso = 44;
73 rtkit = 45;
74 dovecot2 = 46;
75 dovenull2 = 47;
76 prayer = 49;
77 mpd = 50;
78 clamav = 51;
79 fprot = 52;
80 bind = 53;
81 wwwrun = 54;
82 #adm = 55; # unused
83 spamd = 56;
84 #networkmanager = 57; # unused
85 nslcd = 58;
86 scanner = 59;
87 nginx = 60;
88 chrony = 61;
89 #systemd-journal = 62; # unused
90 smtpd = 63;
91 smtpq = 64;
92 supybot = 65;
93 iodined = 66;
94 #libvirtd = 67; # unused
95 graphite = 68;
96 statsd = 69;
97 transmission = 70;
98 postgres = 71;
99 #vboxusers = 72; # unused
100 #vboxsf = 73; # unused
101 smbguest = 74; # unused
102 varnish = 75;
103 datadog = 76;
104 lighttpd = 77;
105 lightdm = 78;
106 freenet = 79;
107 ircd = 80;
108 bacula = 81;
109 almir = 82;
110 deluge = 83;
111 mysql = 84;
112 rabbitmq = 85;
113 activemq = 86;
114 gnunet = 87;
115 oidentd = 88;
116 quassel = 89;
117 amule = 90;
118 minidlna = 91;
119 elasticsearch = 92;
120 tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
121 firebird = 95;
122 #keys = 96; # unused
123 haproxy = 97;
124 mongodb = 98;
125 openldap = 99;
126 #users = 100; # unused
127 cgminer = 101;
128 munin = 102;
129 logcheck = 103;
130 nix-ssh = 104;
131 dictd = 105;
132 couchdb = 106;
133 searx = 107;
134 kippo = 108;
135 jenkins = 109;
136 systemd-journal-gateway = 110;
137 #notbit = 111; # unused
138 ngircd = 112;
139 btsync = 113;
140 minecraft = 114;
141 #monetdb = 115; # unused (not packaged), removed 2016-09-19
142 vault = 115;
143 rippled = 116;
144 murmur = 117;
145 foundationdb = 118;
146 newrelic = 119;
147 starbound = 120;
148 hydra = 122;
149 spiped = 123;
150 teamspeak = 124;
151 influxdb = 125;
152 nsd = 126;
153 gitolite = 127;
154 znc = 128;
155 polipo = 129;
156 mopidy = 130;
157 #docker = 131; # unused
158 gdm = 132;
159 dhcpd = 133;
160 siproxd = 134;
161 mlmmj = 135;
162 neo4j = 136;
163 riemann = 137;
164 riemanndash = 138;
165 radvd = 139;
166 zookeeper = 140;
167 dnsmasq = 141;
168 uhub = 142;
169 yandexdisk = 143;
170 #collectd = 144; #unused
171 consul = 145;
172 mailpile = 146;
173 redmine = 147;
174 seeks = 148;
175 prosody = 149;
176 i2pd = 150;
177 systemd-network = 152;
178 systemd-resolve = 153;
179 systemd-timesync = 154;
180 liquidsoap = 155;
181 etcd = 156;
182 hbase = 158;
183 opentsdb = 159;
184 scollector = 160;
185 bosun = 161;
186 kubernetes = 162;
187 peerflix = 163;
188 chronos = 164;
189 gitlab = 165;
190 tox-bootstrapd = 166;
191 cadvisor = 167;
192 nylon = 168;
193 apache-kafka = 169;
194 panamax = 170;
195 exim = 172;
196 #fleet = 173; # unused
197 #input = 174; # unused
198 sddm = 175;
199 tss = 176;
200 memcached = 177;
201 ntp = 179;
202 zabbix = 180;
203 redis = 181;
204 unifi = 183;
205 uptimed = 184;
206 zope2 = 185;
207 ripple-data-api = 186;
208 mediatomb = 187;
209 rdnssd = 188;
210 # ihaskell = 189; # unused
211 i2p = 190;
212 lambdabot = 191;
213 asterisk = 192;
214 plex = 193;
215 grafana = 196;
216 skydns = 197;
217 # ripple-rest = 198; # unused, removed 2017-08-12
218 nix-serve = 199;
219 tvheadend = 200;
220 uwsgi = 201;
221 gitit = 202;
222 riemanntools = 203;
223 subsonic = 204;
224 riak = 205;
225 shout = 206;
226 gateone = 207;
227 namecoin = 208;
228 dnschain = 209;
229 #lxd = 210; # unused
230 kibana = 211;
231 xtreemfs = 212;
232 calibre-server = 213;
233 heapster = 214;
234 bepasty = 215;
235 pumpio = 216;
236 nm-openvpn = 217;
237 mathics = 218;
238 ejabberd = 219;
239 postsrsd = 220;
240 opendkim = 221;
241 dspam = 222;
242 gale = 223;
243 matrix-synapse = 224;
244 rspamd = 225;
245 rmilter = 226;
246 cfdyndns = 227;
247 gammu-smsd = 228;
248 pdnsd = 229;
249 octoprint = 230;
250 avahi-autoipd = 231;
251 nntp-proxy = 232;
252 mjpg-streamer = 233;
253 radicale = 234;
254 hydra-queue-runner = 235;
255 hydra-www = 236;
256 syncthing = 237;
257 mfi = 238;
258 caddy = 239;
259 taskd = 240;
260 factorio = 241;
261 emby = 242;
262 graylog = 243;
263 sniproxy = 244;
264 nzbget = 245;
265 mosquitto = 246;
266 toxvpn = 247;
267 squeezelite = 248;
268 turnserver = 249;
269 smokeping = 250;
270 gocd-agent = 251;
271 gocd-server = 252;
272 terraria = 253;
273 mattermost = 254;
274 prometheus = 255;
275 telegraf = 256;
276 gitlab-runner = 257;
277 postgrey = 258;
278 hound = 259;
279 leaps = 260;
280 ipfs = 261;
281 stanchion = 262;
282 riak-cs = 263;
283 infinoted = 264;
284 keystone = 265;
285 glance = 266;
286 couchpotato = 267;
287 gogs = 268;
288 pdns-recursor = 269;
289 kresd = 270;
290 rpc = 271;
291 geoip = 272;
292 fcron = 273;
293 sonarr = 274;
294 radarr = 275;
295 jackett = 276;
296 aria2 = 277;
297 clickhouse = 278;
298 rslsync = 279;
299 minio = 280;
300
301 # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
302
303 nixbld = 30000; # start of range of uids
304 nobody = 65534;
305 };
306
307 ids.gids = {
308 root = 0;
309 wheel = 1;
310 kmem = 2;
311 tty = 3;
312 messagebus = 4; # D-Bus
313 haldaemon = 5;
314 disk = 6;
315 vsftpd = 7;
316 ftp = 8;
317 bitlbee = 9;
318 avahi = 10;
319 #nagios = 11; # unused
320 atd = 12;
321 postfix = 13;
322 postdrop = 14;
323 dovecot = 15;
324 tomcat = 16;
325 audio = 17;
326 floppy = 18;
327 uucp = 19;
328 lp = 20;
329 proc = 21;
330 pulseaudio = 22; # must match `pulseaudio' UID
331 gpsd = 23;
332 cdrom = 24;
333 tape = 25;
334 video = 26;
335 dialout = 27;
336 #polkituser = 28; # currently unused, polkitd doesn't need a group
337 utmp = 29;
338 ddclient = 30;
339 davfs2 = 31;
340 disnix = 33;
341 osgi = 34;
342 tor = 35;
343 #cups = 36; # unused
344 #foldingathome = 37; # unused
345 #sabnzd = 38; # unused
346 #kdm = 39; # unused, even before 17.03
347 ghostone = 40;
348 git = 41;
349 fourstore = 42;
350 fourstorehttp = 43;
351 virtuoso = 44;
352 #rtkit = 45; # unused
353 dovecot2 = 46;
354 #dovenull = 47; # unused
355 prayer = 49;
356 mpd = 50;
357 clamav = 51;
358 fprot = 52;
359 #bind = 53; # unused
360 wwwrun = 54;
361 adm = 55;
362 spamd = 56;
363 networkmanager = 57;
364 nslcd = 58;
365 scanner = 59;
366 nginx = 60;
367 chrony = 61;
368 systemd-journal = 62;
369 smtpd = 63;
370 smtpq = 64;
371 supybot = 65;
372 iodined = 66;
373 libvirtd = 67;
374 graphite = 68;
375 #statsd = 69; # unused
376 transmission = 70;
377 postgres = 71;
378 vboxusers = 72;
379 vboxsf = 73;
380 smbguest = 74; # unused
381 varnish = 75;
382 datadog = 76;
383 lighttpd = 77;
384 lightdm = 78;
385 freenet = 79;
386 ircd = 80;
387 bacula = 81;
388 almir = 82;
389 deluge = 83;
390 mysql = 84;
391 rabbitmq = 85;
392 activemq = 86;
393 gnunet = 87;
394 oidentd = 88;
395 quassel = 89;
396 amule = 90;
397 minidlna = 91;
398 elasticsearch = 92;
399 #tcpcryptd = 93; # unused
400 firebird = 95;
401 keys = 96;
402 haproxy = 97;
403 #mongodb = 98; # unused
404 openldap = 99;
405 munin = 102;
406 #logcheck = 103; # unused
407 #nix-ssh = 104; # unused
408 dictd = 105;
409 couchdb = 106;
410 searx = 107;
411 kippo = 108;
412 jenkins = 109;
413 systemd-journal-gateway = 110;
414 #notbit = 111; # unused
415 #ngircd = 112; # unused
416 btsync = 113;
417 #minecraft = 114; # unused
418 #monetdb = 115; # unused (not packaged), removed 2016-09-19
419 vault = 115;
420 #ripped = 116; # unused
421 #murmur = 117; # unused
422 foundationdb = 118;
423 newrelic = 119;
424 starbound = 120;
425 hydra = 122;
426 spiped = 123;
427 teamspeak = 124;
428 influxdb = 125;
429 nsd = 126;
430 #gitolite = 127; # unused
431 znc = 128;
432 polipo = 129;
433 mopidy = 130;
434 docker = 131;
435 gdm = 132;
436 #dhcpcd = 133; # unused
437 siproxd = 134;
438 mlmmj = 135;
439 #neo4j = 136; # unused
440 riemann = 137;
441 riemanndash = 138;
442 #radvd = 139; # unused
443 #zookeeper = 140; # unused
444 #dnsmasq = 141; # unused
445 uhub = 142;
446 #yandexdisk = 143; # unused
447 #collectd = 144; # unused
448 #consul = 145; # unused
449 mailpile = 146;
450 redmine = 147;
451 seeks = 148;
452 prosody = 149;
453 i2pd = 150;
454 systemd-network = 152;
455 systemd-resolve = 153;
456 systemd-timesync = 154;
457 liquidsoap = 155;
458 #etcd = 156; # unused
459 hbase = 158;
460 opentsdb = 159;
461 scollector = 160;
462 bosun = 161;
463 kubernetes = 162;
464 #peerflix = 163; # unused
465 #chronos = 164; # unused
466 gitlab = 165;
467 nylon = 168;
468 panamax = 170;
469 exim = 172;
470 fleet = 173;
471 input = 174;
472 sddm = 175;
473 tss = 176;
474 #memcached = 177; # unused
475 #ntp = 179; # unused
476 #zabbix = 180; # unused
477 #redis = 181; # unused
478 #unifi = 183; # unused
479 #uptimed = 184; # unused
480 #zope2 = 185; # unused
481 #ripple-data-api = 186; #unused
482 mediatomb = 187;
483 #rdnssd = 188; # unused
484 # ihaskell = 189; # unused
485 i2p = 190;
486 lambdabot = 191;
487 asterisk = 192;
488 plex = 193;
489 sabnzbd = 194;
490 #grafana = 196; #unused
491 #skydns = 197; #unused
492 # ripple-rest = 198; # unused, removed 2017-08-12
493 #nix-serve = 199; #unused
494 #tvheadend = 200; #unused
495 uwsgi = 201;
496 gitit = 202;
497 riemanntools = 203;
498 subsonic = 204;
499 riak = 205;
500 #shout = 206; #unused
501 gateone = 207;
502 namecoin = 208;
503 #dnschain = 209; #unused
504 lxd = 210; # unused
505 #kibana = 211;
506 xtreemfs = 212;
507 calibre-server = 213;
508 bepasty = 215;
509 pumpio = 216;
510 nm-openvpn = 217;
511 mathics = 218;
512 ejabberd = 219;
513 postsrsd = 220;
514 opendkim = 221;
515 dspam = 222;
516 gale = 223;
517 matrix-synapse = 224;
518 rspamd = 225;
519 rmilter = 226;
520 cfdyndns = 227;
521 pdnsd = 229;
522 octoprint = 230;
523 radicale = 234;
524 syncthing = 237;
525 #mfi = 238; # unused
526 caddy = 239;
527 taskd = 240;
528 factorio = 241;
529 emby = 242;
530 sniproxy = 244;
531 nzbget = 245;
532 mosquitto = 246;
533 #toxvpn = 247; # unused
534 #squeezelite = 248; #unused
535 turnserver = 249;
536 smokeping = 250;
537 gocd-agent = 251;
538 gocd-server = 252;
539 terraria = 253;
540 mattermost = 254;
541 prometheus = 255;
542 #telegraf = 256; # unused
543 gitlab-runner = 257;
544 postgrey = 258;
545 hound = 259;
546 leaps = 260;
547 ipfs = 261;
548 stanchion = 262;
549 riak-cs = 263;
550 infinoted = 264;
551 keystone = 265;
552 glance = 266;
553 couchpotato = 267;
554 gogs = 268;
555 kresd = 270;
556 #rpc = 271; # unused
557 #geoip = 272; # unused
558 fcron = 273;
559 sonarr = 274;
560 radarr = 275;
561 jackett = 276;
562 aria2 = 277;
563 clickhouse = 278;
564 rslsync = 279;
565 minio = 280;
566
567 # When adding a gid, make sure it doesn't match an existing
568 # uid. Users and groups with the same name should have equal
569 # uids and gids. Also, don't use gids above 399!
570
571 users = 100;
572 nixbld = 30000;
573 nogroup = 65534;
574 };
575
576 };
577
578}